@charset "UTF-8";
/**

This is the base of the app.css file, to modify the configuration ot a site level go to /branding.scss if you need modify the global configuration of all sites go to /global/variables.scss.

[ IMPORTANT ] - No BESPOKE CSS RULE'S should be specified here or in branding.scss, if you need to modify the css do it in either /global or in /componants otherwise it will cause tears, IF you really have to to it in the site specific branding.scss under all of the SASS overrides.

**/
/*

values can be either a list or map.

Breakpoint values:
Small = 1
Medium = 2
Large = 3
xLarge = 4
xxLarge = 5

*/
/**

Site specific branding ( colours & fonts ) any sass overrides get defined here as well.

[ IMPORTANT ] - You maybe compelled to write bespoke css rules at the bottom of the file just to make a " quick " site specific change but this WILL conflict with the css being defined in /global and /component either from a configuration stance or responsive point of view, so please consult/modify those 2 directories as needed, this file was only to designed for SASS variables.

**/
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800&display=swap");
/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: 'Font Awesome 6 Brands';
  --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

.fab,
.fa-brands {
  font-weight: 400; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-aws:before {
  content: "\f375"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-cloudflare:before {
  content: "\e07d"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-pixiv:before {
  content: "\e640"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-modx:before {
  content: "\f285"; }

.fa-guilded:before {
  content: "\e07e"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-square-js:before {
  content: "\f3b9"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-unity:before {
  content: "\e049"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-vk:before {
  content: "\f189"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-square-reddit:before {
  content: "\f1a2"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-square-font-awesome:before {
  content: "\e5ad"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-brave:before {
  content: "\e63c"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-square-instagram:before {
  content: "\e055"; }

.fa-instagram-square:before {
  content: "\e055"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-square-hacker-news:before {
  content: "\f3af"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-edge:before {
  content: "\f282"; }

.fa-threads:before {
  content: "\e618"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-square-snapchat:before {
  content: "\f2ad"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-safari:before {
  content: "\f267"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-square-font-awesome-stroke:before {
  content: "\f35c"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-watchman-monitoring:before {
  content: "\e087"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-square-viadeo:before {
  content: "\f2aa"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-centos:before {
  content: "\f789"; }

.fa-adn:before {
  content: "\f170"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-opensuse:before {
  content: "\e62b"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-square-dribbble:before {
  content: "\f397"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-node:before {
  content: "\f419"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-debian:before {
  content: "\e60b"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-instalod:before {
  content: "\e081"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-square-twitter:before {
  content: "\f081"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-golang:before {
  content: "\e40f"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-uncharted:before {
  content: "\e084"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-square-youtube:before {
  content: "\f431"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-rendact:before {
  content: "\f3e4"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-nfc-directional:before {
  content: "\e530"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-meta:before {
  content: "\e49b"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-square-letterboxd:before {
  content: "\e62e"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-hips:before {
  content: "\f452"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-discord:before {
  content: "\f392"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-shoelace:before {
  content: "\e60c"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-unsplash:before {
  content: "\e07c"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-square-steam:before {
  content: "\f1b7"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-500px:before {
  content: "\f26e"; }

.fa-square-vimeo:before {
  content: "\f194"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-flag:before {
  content: "\f2b4"; }

.fa-font-awesome-logo-full:before {
  content: "\f2b4"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-apple:before {
  content: "\f179"; }

.fa-hive:before {
  content: "\e07f"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-padlet:before {
  content: "\e4a0"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-square-github:before {
  content: "\f092"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-shopify:before {
  content: "\e057"; }

.fa-neos:before {
  content: "\f612"; }

.fa-square-threads:before {
  content: "\e619"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-angular:before {
  content: "\f420"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envira:before {
  content: "\f299"; }

.fa-google-scholar:before {
  content: "\e63b"; }

.fa-square-gitlab:before {
  content: "\e5ae"; }

.fa-gitlab-square:before {
  content: "\e5ae"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-square-odnoklassniki:before {
  content: "\f264"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-sith:before {
  content: "\f512"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-hashnode:before {
  content: "\e499"; }

.fa-react:before {
  content: "\f41b"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-gg:before {
  content: "\f260"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-square-pinterest:before {
  content: "\f0d3"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-xing:before {
  content: "\f168"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-less:before {
  content: "\f41d"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-signal-messenger:before {
  content: "\e663"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-dailymotion:before {
  content: "\e052"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-nfc-symbol:before {
  content: "\e531"; }

.fa-mintbit:before {
  content: "\e62f"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-brave-reverse:before {
  content: "\e63d"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-square-google-plus:before {
  content: "\f0d4"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-square-xing:before {
  content: "\f169"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-fly:before {
  content: "\f417"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-viber:before {
  content: "\f409"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-letterboxd:before {
  content: "\e62d"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-audible:before {
  content: "\f373"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-bilibili:before {
  content: "\e3d9"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-x-twitter:before {
  content: "\e61b"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-42-group:before {
  content: "\e080"; }

.fa-innosoft:before {
  content: "\e080"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-square-pied-piper:before {
  content: "\e01e"; }

.fa-pied-piper-square:before {
  content: "\e01e"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-tiktok:before {
  content: "\e07b"; }

.fa-square-facebook:before {
  content: "\f082"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-mixer:before {
  content: "\e056"; }

.fa-square-lastfm:before {
  content: "\f203"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-figma:before {
  content: "\f799"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-cmplid:before {
  content: "\e360"; }

.fa-upwork:before {
  content: "\e641"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-deezer:before {
  content: "\e077"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-docker:before {
  content: "\f395"; }

.fa-screenpal:before {
  content: "\e570"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-microblog:before {
  content: "\e01a"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-wirsindhandwerk:before {
  content: "\e2d0"; }

.fa-wsh:before {
  content: "\e2d0"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-octopus-deploy:before {
  content: "\e082"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-apper:before {
  content: "\f371"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ab"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-rust:before {
  content: "\e07a"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-square-behance:before {
  content: "\f1b5"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-webflow:before {
  content: "\e65c"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-space-awesome:before {
  content: "\e5ac"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-square-git:before {
  content: "\f1d2"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-square-tumblr:before {
  content: "\f174"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-trello:before {
  content: "\f181"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-perbyte:before {
  content: "\e083"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-android:before {
  content: "\f17b"; }

.fa-bots:before {
  content: "\e340"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-ideal:before {
  content: "\e013"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-uber:before {
  content: "\f402"; }

.fa-github:before {
  content: "\f09b"; }

.fa-php:before {
  content: "\f457"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-firefox-browser:before {
  content: "\e007"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-stubber:before {
  content: "\e5c7"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f2c6"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-odysee:before {
  content: "\e5c6"; }

.fa-square-whatsapp:before {
  content: "\f40c"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-edge-legacy:before {
  content: "\e078"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f198"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-usb:before {
  content: "\f287"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-square-x-twitter:before {
  content: "\e61a"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f23a"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-sitrox:before {
  content: "\e44a"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-strava:before {
  content: "\f428"; }

.fa-ember:before {
  content: "\f423"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-wodu:before {
  content: "\e088"; }

.fa-google-pay:before {
  content: "\e079"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-zhihu:before {
  content: "\f63f"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-pix:before {
  content: "\e43a"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

.far,
.fa-regular {
  font-weight: 400; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

.fas,
.fa-solid {
  font-weight: 900; }

@font-face {
  font-family: 'Font Awesome Brands';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Solid';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.ttf");
  font-weight: 900;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Regular';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello";
  src: url("/template/content/development/css/webfonts/fontello-express/fontello.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-express/fontello.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-express/fontello.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

/** 
    ----- Email Templates ----- 

    THINK!...... LIKE REALLY THINK OUTLOOK BEFORE MAKING CHANGES, things that these variables will effect: 
    - Fragments ( are colours generic ) 
    - Outlook 
    - Diplomat email parameters

**/
.mobile-break {
  width: 100%;
  height: 0;
  display: block;
  overflow: hidden; }
  @media print, screen and (min-width: 81.25em) {
    .mobile-break {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: auto;
      display: inline-block;
      margin: auto 8px; } }

.page-heading-module h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .page-heading-module h1.preset1 {
    position: relative;
    color: #5F7B27;
    padding-bottom: 15px;
    position: relative; }
    .page-heading-module h1.preset1:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        .page-heading-module h1.preset1:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

body h1 {
  margin: 0 0 25px; }

h1 {
  color: #5F7B27;
  font-size: 2.1875rem;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  h1.preset1 {
    margin: 0 0 25px;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    border-radius: 0; }
  h1.preset2 {
    font-size: 1.9375rem;
    font-weight: 300;
    text-transform: none;
    border-radius: 0;
    position: relative;
    position: relative; }
    h1.preset2:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h1.preset2:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

h2 {
  color: #5F7B27;
  font-size: 2rem;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 15px 0;
    margin: 0 0 25px;
    color: #5F7B27;
    background-color: rgba(147, 182, 77, 0.1);
    text-align: center;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    word-spacing: normal;
    border-radius: 0;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #5F7B27;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    word-spacing: normal; }
  h2.preset3 {
    margin: 0;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    word-spacing: normal;
    border-radius: 0;
    position: relative;
    padding-bottom: 15px;
    position: relative; }
    h2.preset3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h2.preset3:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
  h2.preset4 {
    padding: 15px 0;
    margin: 0 0 15px;
    color: #5F7B27;
    background-color: #f4f6ee;
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    text-transform: none;
    border-radius: 0; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

h3 {
  margin: 0;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 1.5625rem;
  font-weight: 600;
  color: #5F7B27; }
  h3.preset1 {
    width: 100%;
    margin: 0;
    padding: 15px 0;
    background-color: #f4f6ee;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0;
    text-transform: none;
    color: #5F7B27; }
  h3.preset2 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 10px;
    font-size: 1.5625rem;
    text-transform: none;
    color: #5F7B27; }
    h3.preset2:after {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      left: 0;
      bottom: 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }

h4 {
  color: #000000;
  font-size: 1.375rem;
  font-weight: 400;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

h5 {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 400;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

h6 {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

.callout.alert h5, .callout.alert p {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700; }

.text-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin: 0; }
  @media screen and (min-width: 100em) {
    .text-container {
      margin: 0 auto;
      text-align: right; } }
  @media screen and (min-width: 100em) and (orientation: landscape) {
    .text-container {
      margin: 0; } }
  @media screen and (min-width: 100em) {
    .text-container.align-left {
      text-align: left; } }

a {
  text-decoration: none;
  color: var(--primary-colour-lightness-0, #5F7B27);
  font-weight: inherit;
  font-size: 0.9375rem;
  -webkit-transition: color 0.8s, opacity 0.8s;
  transition: color 0.8s, opacity 0.8s; }
  a.success {
    color: #12811f; }
    a.success:before, a.success:after {
      color: #12811f; }
  a.warning {
    color: #ff5e05; }
    a.warning:before, a.warning:after {
      color: #ff5e05; }
  a.alert {
    color: #b20c0c; }
    a.alert:before, a.alert:after {
      color: #b20c0c; }
  a.edit {
    font-size: 0.875rem;
    color: #5F7B27;
    cursor: pointer; }
    a.edit:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Regular";
      font-size: 17px; }
  a.disabled {
    cursor: not-allowed;
    opacity: 0.4; }
  a.news-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.news-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.news-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.news-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.news-button:active {
      color: var(--primary-colour-lightness-0); }
      a.news-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.blog-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.blog-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.blog-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.blog-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.blog-button:active {
      color: var(--primary-colour-lightness-0); }
      a.blog-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.events-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.events-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.events-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.events-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.events-button:active {
      color: var(--primary-colour-lightness-0); }
      a.events-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.external-link-icon:after {
    content: "";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 12px;
    font-family: "Font Awesome Solid"; }
  a:hover {
    text-decoration: none;
    color: var(--secondary-colour-lightness-0, #DB651B);
    opacity: 0.9;
    -webkit-transition: color 0.6s, opacity 0.6s;
    transition: color 0.6s, opacity 0.6s; }
  a:active {
    color: var(--neutral-colour-lightness-0, #484848); }
  a.pdf-download {
    position: relative;
    font-weight: 400; }
    a.pdf-download:before {
      content: "";
      margin-right: 15px;
      font-size: 20px;
      font-weight: 400;
      font-family: "Font Awesome Regular";
      color: #ff0101;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.pdf-download:hover:before {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

ol li {
  text-align: left; }

@media print, screen and (min-width: 81.25em) {
  hr.mobile-seperator {
    display: none; } }

address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-style: normal;
  color: #000000; }
  address span {
    width: 100%;
    display: block; }

span[class*="-icon"] .icon-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 5px; }
  @media print, screen and (min-width: 81.25em) {
    span[class*="-icon"] .icon-text {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  .prices p {
    margin: 0;
    font-weight: 700; }
  .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media print, screen and (min-width: 81.25em) {
        .prices .price-container .value {
          text-align: right; } }
    .prices .price-container.saving .label, .prices .price-container.saving .value {
      color: #5F7B27;
      font-weight: 700;
      text-transform: uppercase; }
    .prices .price-container.rrp .label, .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.price-container .value {
  font-size: 0.875rem; }

.price-container .label, .price-container .value {
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

.price {
  margin: 0; }
  .price .currency {
    font-size: 1.625rem; }

.vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

hr {
  margin: 25px 0; }

/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
.table-footer-spacer.preset-1 {
  margin-bottom: 15px; }
  @media screen and (min-width: 112.5em) {
    .table-footer-spacer.preset-1 {
      margin-bottom: 40px; } }

.table-footer-spacer.preset-2 {
  margin-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    .table-footer-spacer.preset-2 {
      margin-bottom: 20px; } }

.table-footer-spacer hr {
  border-top: 1px solid #aeaeae; }

table {
  --border-colour: var(--neutral-colour-lightness-7);
  --border-hover-colour: #aeaeae;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0 !important;
  border-color: var(--border-colour); }
  table.striped tr {
    padding: 25px; }
  @media screen and (min-width: 112.5em) {
    table.show-border-bottom tr {
      padding-bottom: 20px; }
      table.show-border-bottom tr:not(:last-child) {
        border-bottom: 1px solid var(--border-colour);
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
        table.show-border-bottom tr:not(:last-child):hover {
          border-color: var(--border-hover-colour);
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; } }
  table.show-borders {
    border: 1px solid var(--border-colour); }
    table.show-borders th, table.show-borders td {
      border: 1px solid var(--border-colour); }
  @media screen and (min-width: 112.5em) {
    table.show-internal-borders tr:first-child th, table.show-internal-borders tr:first-child td {
      border-top: 0; }
    table.show-internal-borders tr:last-child th, table.show-internal-borders tr:last-child td {
      border-bottom: 0; }
    table.show-internal-borders tr th, table.show-internal-borders tr td {
      border: 1px solid var(--border-colour); }
      table.show-internal-borders tr th:first-child, table.show-internal-borders tr td:first-child {
        border-left: 0; }
      table.show-internal-borders tr th:last-child, table.show-internal-borders tr td:last-child {
        border-right: 0; } }
  table.highlight-first-column tr td:first-child {
    color: var(--primary-colour-lightness-0);
    font-size: 0.9375rem;
    font-weight: 700;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  table.preset-1 {
    margin: 10px 0; }
    @media screen and (min-width: 112.5em) {
      table.preset-1 {
        margin: 15px 0; } }
    table.preset-1 td, table.preset-1 th {
      padding: 10px 0; }
    @media screen and (min-width: 112.5em) {
      table.preset-1.row-spacing tbody:before {
        margin: -10px; } }
    table.preset-1 tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        table.preset-1 tbody:before {
          margin: 10px; } }
    table.preset-1 tbody tr {
      padding: 5px; }
      @media screen and (min-width: 112.5em) {
        table.preset-1 tbody tr {
          padding: 0; } }
    table.preset-1 tbody td {
      position: relative;
      padding: 5px 0 0;
      text-align: left;
      font-size: 0.9375rem; }
      @media screen and (min-width: 112.5em) {
        table.preset-1 tbody td {
          padding: 7px 5px;
          text-align: center; } }
      table.preset-1 tbody td.image-col {
        --media-aspect-ratio: 1/1;
        text-align: left;
        padding: 0; }
        table.preset-1 tbody td.image-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          border: 1px solid #f3f3f3; }
    table.preset-1 tbody a:not([class*="-button"]) {
      color: #484848;
      font-size: 0.9375rem; }
      table.preset-1 tbody a:not([class*="-button"]):hover {
        color: #DB651B;
        text-decoration: underline; }
        table.preset-1 tbody a:not([class*="-button"]):hover span {
          text-decoration: underline; }
      table.preset-1 tbody a:not([class*="-button"]):active {
        color: #5F7B27; }
    table.preset-1 tbody a:not(.pdf-download) {
      font-weight: 700; }
  @media screen and (min-width: 112.5em) {
    table.preset-2 {
      margin: 45px 0 40px; } }
  table.preset-2 tbody:before {
    content: '';
    display: block;
    margin: 10px; }
  table.preset-3 td, table.preset-3 th {
    padding: 0 0 10px; }
    @media screen and (min-width: 112.5em) {
      table.preset-3 td, table.preset-3 th {
        padding: 1px 5px; } }
  @media screen and (min-width: 112.5em) {
    table.preset-3.row-additional-padding td {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 112.5em) {
    table.preset-3 tbody:before {
      content: '';
      display: block;
      margin: 10px; } }
  table.preset-3 tbody tr {
    padding: 10px 20px; }
    @media screen and (min-width: 112.5em) {
      table.preset-3 tbody tr {
        padding: 0; } }
  table.preset-3 tbody td, table.preset-3 tbody th {
    font-size: 0.875rem; }
  table.preset-3 tbody td {
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      table.preset-3 tbody td {
        text-align: center; } }
  table.preset-3 tbody a {
    font-weight: 700;
    font-size: 0.9375rem;
    color: #484848; }
    table.preset-3 tbody a:hover {
      color: #DB651B;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #5F7B27; }
  table.row-spacing {
    border-collapse: separate !important;
    border-spacing: 0 10px; }
    table.row-spacing:has(.row-input-toggle) {
      padding-right: 2px;
      padding-left: 2px; }
  table tbody span.col-label {
    width: 100%;
    display: inline-block;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      table tbody span.col-label {
        width: auto; } }
  table td {
    vertical-align: baseline; }
  table:has(td[class*="image-col"]) td {
    vertical-align: middle; }
  @media screen and (min-width: 112.5em) {
    table td.no-pdf-download span.text-container {
      padding-left: 35px; } }
  table button {
    display: inline-block; }
  table tr.success .notification-indicator-container:before {
    background: #12811f; }
  table tr.success .notification-content-container {
    border-color: #12811f; }
    table tr.success .notification-content-container .notification-content {
      color: #12811f; }
  table tr.warning .notification-indicator-container:before {
    background: #ff5e05; }
  table tr.warning .notification-content-container {
    border-color: #ff5e05; }
    table tr.warning .notification-content-container .notification-content {
      color: #ff5e05; }
  table tr.alert .notification-indicator-container:before {
    background: #b20c0c; }
  table tr.alert .notification-content-container {
    border-color: #b20c0c; }
    table tr.alert .notification-content-container .notification-content {
      color: #b20c0c; }
  table tr.error-row, table tr.error {
    background-color: #fde1e1 !important;
    color: #b20c0c; }
  @media screen and (min-width: 112.5em) {
    table tr + tr.error-row td, table tr + tr.error td {
      border-top: 2px solid #ffffff; } }
  table tr.card-expired, table tr.expired {
    background-color: var(--neutral-colour-lightness-9);
    cursor: not-allowed;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.card-expired:hover, table tr.expired:hover {
      background-color: transparent;
      -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
              box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.card-expired td, table tr.expired td {
      opacity: 0.5;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
    table tr.card-expired .remove-col, table tr.card-expired .expire-date-col, table tr.expired .remove-col, table tr.expired .expire-date-col {
      opacity: 1; }
  table tr.row-input-toggle {
    -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
            box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
    cursor: pointer;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.row-input-toggle:has(input[type='checkbox']:checked, input[type="radio"]:checked) {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
      background-color: var(--secondary-colour-lightness-10);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.row-input-toggle:hover {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7); }
  table tr:hover td {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  table .success-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #12811f; }
  table .failed-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #b20c0c; }
  table .failed-reason {
    width: 100%;
    display: block;
    margin-left: 30px;
    font-size: 0.8125rem;
    color: #484848; }
    @media screen and (min-width: 112.5em) {
      table .failed-reason {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  @media screen and (min-width: 112.5em) {
    table .failed-icon, table .success-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  table .failed-icon:before, table .success-icon:before {
    margin-right: 10px;
    margin-left: 0;
    font-size: 20px; }
  @media screen and (min-width: 112.5em) {
    table .order-total-col, table th.csv-import-col {
      width: 200px; } }
  @media print, screen and (max-width: 112.49875em) {
    table .address-block {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  table .remove-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  table .remove-button:hover:before {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #5F7B27; }
  table .card-type:before {
    content: "";
    margin: 0 10px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 1.25rem;
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .expired-text {
    display: inline-block;
    margin: 0 0 0 5px;
    color: #ff0101;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      table .expired-text {
        position: absolute; } }
  @media screen and (min-width: 112.5em) {
    table .tooltip-container.state-indicator .tooltip-trigger:before {
      font-size: 9px; } }

thead.preset-1 {
  background-color: transparent; }
  thead.preset-1 th {
    padding: 0 5px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0);
    border-bottom: 1px solid #aeaeae;
    text-align: center; }
    thead.preset-1 th button {
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
  thead.preset-1 th[class$=description-col] {
    text-align: left; }
  thead.preset-1 + tbody .col-label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0); }

thead.preset-2 {
  background-color: transparent; }
  thead.preset-2 th {
    padding: 0 0 20px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #000000;
    border-bottom: 1px solid #aeaeae; }

thead th {
  vertical-align: baseline;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

.comparison-table-container .comparison-table-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 112.5em) {
    .comparison-table-container .comparison-table-buttons {
      display: none; } }
  .comparison-table-container .comparison-table-buttons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: hidden;
    overflow-x: auto; }
    .comparison-table-container .comparison-table-buttons ul li {
      height: 100%; }
      .comparison-table-container .comparison-table-buttons ul li:not(:last-child) {
        margin-right: 10px; }
  .comparison-table-container .comparison-table-buttons .comparison-table-button {
    height: 100%;
    padding: 20px;
    border: 1px solid #959595;
    line-height: 20px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .comparison-table-container .comparison-table-buttons .comparison-table-button.active {
      background-color: #5F7B27;
      color: #ffffff;
      border-color: #5F7B27;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }

.comparison-table-container {
  max-width: 100%;
  width: 100%; }

[comparison-table] .comparison-values td + td, [comparison-table] th + th {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 112.5em) {
    [comparison-table] .comparison-values td + td, [comparison-table] th + th {
      display: table-cell; } }

[comparison-table] thead {
  display: none; }
  @media screen and (min-width: 112.5em) {
    [comparison-table] thead {
      display: table-header-group;
      background-color: transparent; } }
  [comparison-table] thead tr {
    background-color: transparent; }
  [comparison-table] thead th {
    padding: 0 0 15px;
    border-bottom: 1px solid #dadada; }
    [comparison-table] thead th:first-child {
      width: 15%; }

[comparison-table] tbody.comparison-values {
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eeeeee; }
  @media screen and (min-width: 112.5em) {
    [comparison-table] tbody.comparison-values {
      border: 0; } }
  @media print, screen and (max-width: 112.49875em) {
    [comparison-table] tbody.comparison-values tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-line-pack: baseline;
          align-content: baseline; } }
  [comparison-table] tbody.comparison-values td {
    margin: 5px 0;
    padding: 10px;
    font-size: 1.0625rem;
    border-bottom: 1px solid #dadada; }
    @media screen and (min-width: 112.5em) {
      [comparison-table] tbody.comparison-values td {
        margin: 0;
        border: 0; } }
    [comparison-table] tbody.comparison-values td:nth-child(1) {
      width: 58%;
      font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
      @media print, screen and (max-width: 112.49875em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          text-align: left; } }
      [comparison-table] tbody.comparison-values td:nth-child(1):first-child {
        margin-top: 0; }
      @media screen and (min-width: 112.5em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          width: 15%;
          border-right: 1px solid #dadada; } }

@media print, screen and (max-width: 112.49875em) {
  [comparison-table].align-value-right tbody td.active {
    text-align: right; } }

[comparison-table].align-value-right .comparison-summary tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }

[comparison-table].align-value-right .comparison-summary .comparison-currently-selected {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: right; }

[comparison-table] tbody.comparison-summary {
  display: block;
  margin: 15px 0 10px;
  color: #484848; }
  @media screen and (min-width: 112.5em) {
    [comparison-table] tbody.comparison-summary {
      display: none; } }
  [comparison-table] tbody.comparison-summary .comparison-column-heading {
    width: 58%; }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table.force-mobile-row-layout td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 5px 0; } }

table.stack.responsive-table.force-mobile-row-layout td .col-label {
  width: 50%; }
  @media print, screen and (min-width: 40em) {
    table.stack.responsive-table.force-mobile-row-layout td .col-label {
      width: 250px; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table td {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table td.column-empty {
    display: none; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table td .col-label {
    width: 100%; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start; } }

@media print, screen and (max-width: 39.99875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 50% 50%; } }

@media print, screen and (min-width: 40em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 30% 70%; } }

@media print, screen and (max-width: 112.49875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) tbody tr {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0 10px; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td {
    padding: 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) {
    grid-column: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]):has(.col-label) {
      display: grid; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) .control {
      margin: auto 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media print, screen and (max-width: 112.49875em) {
  [responsive-reveal] {
    display: none; } }

.responsive-reveal-table {
  display: block; }
  @media screen and (min-width: 112.5em) {
    .responsive-reveal-table {
      display: none; } }
  @media print, screen and (max-width: 112.49875em) {
    .responsive-reveal-table + table {
      display: none; } }
  .responsive-reveal-table .responsive-table-item {
    background-color: #f3f3f3; }
    .responsive-reveal-table .responsive-table-item:not(:last-child) {
      margin-bottom: 5px; }
    .responsive-reveal-table .responsive-table-item.success {
      border-left: 2px solid #12811f; }
      .responsive-reveal-table .responsive-table-item.success .table-notification-text {
        color: #12811f; }
    .responsive-reveal-table .responsive-table-item.warning {
      border-left: 2px solid #ff5e05; }
      .responsive-reveal-table .responsive-table-item.warning .table-notification-text {
        color: #ff5e05; }
    .responsive-reveal-table .responsive-table-item.alert {
      border-left: 2px solid #b20c0c; }
      .responsive-reveal-table .responsive-table-item.alert .table-notification-text {
        color: #b20c0c; }
    .responsive-reveal-table .responsive-table-item.active .header-container .header-item a {
      color: #5F7B27; }
    .responsive-reveal-table .responsive-table-item.active .header-container:after {
      content: ""; }
    .responsive-reveal-table .responsive-table-item.active .content-container {
      max-height: 500px;
      margin-top: 10px;
      padding-bottom: 18px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
    .responsive-reveal-table .responsive-table-item.active .ellipsis-text {
      white-space: normal;
      -webkit-mask-image: none;
              mask-image: none; }
  .responsive-reveal-table .header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 20px; }
    .responsive-reveal-table .header-container:has(.unread-col) {
      padding-left: 0; }
    .responsive-reveal-table .header-container:after {
      content: "";
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 18px;
      color: #5F7B27; }
  .responsive-reveal-table .content-container {
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 18px;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .responsive-reveal-table .content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 0.875rem; }
  .responsive-reveal-table .col-label {
    max-width: 120px;
    width: 100%;
    display: block;
    font-weight: 700;
    color: #484848; }
  .responsive-reveal-table .tooltip-container.state-indicator .tooltip-trigger:before {
    font-size: 12px; }

.table-sort-col.ascend button:after {
  content: ""; }

.table-sort-col.descend button:after {
  content: ""; }

.table-sort-col button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .table-sort-col button:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    font-family: "Font Awesome Solid";
    font-size: 10px;
    color: #959595; }
  .table-sort-col button:hover {
    color: #DB651B;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .table-sort-col button:hover:after {
      color: #DB651B;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .table-sort-col button:active {
    color: #8c8e8a; }
    .table-sort-col button:active:after {
      color: #8c8e8a; }

td.notification-col:hover .table-row-notification .notification-indicator-container {
  width: 6px;
  -webkit-transition: width 0.6s;
  transition: width 0.6s; }

td.notification-col:hover .table-row-notification .notification-content-container {
  max-width: 500px;
  left: 6px;
  -webkit-box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
          box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
  -webkit-transition: max-width 0.6s, border-width 0.6s, left 0.6s;
  transition: max-width 0.6s, border-width 0.6s, left 0.6s; }

.unread-col {
  width: 48px; }
  @media print, screen and (max-width: 112.49875em) {
    .unread-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 112.5em) {
    .unread-col {
      width: 20px; } }

.table-row-notification {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  .table-row-notification .notification-indicator-container {
    width: 2px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-transition: width 0.8s;
    transition: width 0.8s; }
    .table-row-notification .notification-indicator-container:before {
      content: '';
      width: 100%;
      height: 100%;
      display: block;
      background-color: #484848; }
  .table-row-notification .notification-content-container {
    max-width: 0;
    position: absolute;
    top: 0;
    left: 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
    white-space: nowrap;
    border-width: 0;
    border-style: solid;
    border-color: #484848;
    z-index: 5000;
    cursor: text;
    -webkit-transition: max-width 0.8s, left 0.8s ease-in-out;
    transition: max-width 0.8s, left 0.8s ease-in-out; }
    .table-row-notification .notification-content-container .notification-content {
      width: 100%;
      color: #484848;
      font-size: 0.875rem;
      font-style: italic;
      font-weight: 600; }

.table-notification-text {
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 600;
  color: #484848; }
  .table-notification-text p {
    margin: 5px 0;
    padding: 0; }

@media screen and (min-width: 112.5em) {
  table.reusable-card-table.payment .remove-col {
    width: 10%; } }

@media screen and (min-width: 112.5em) {
  table.reusable-card-table .expire-date-col {
    width: 25%; } }

table.reusable-card-table th.select-col, table.reusable-card-table td.select-col {
  display: none; }

table.invalid-basket-table {
  width: calc(100% - 0);
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 112.5em) {
    table.invalid-basket-table {
      width: calc(100% - 60px); } }
  table.invalid-basket-table .reference-col, table.invalid-basket-table .description-col {
    text-align: left; }

@media screen and (min-width: 112.5em) {
  table.audit-trail-entries {
    width: 850px; } }

table.audit-trail-entries th {
  text-align: left; }

table.audit-trail-entries tbody td {
  text-align: left; }

@media screen and (min-width: 112.5em) {
  table.audit-trail-entries .updated-col, table.audit-trail-entries .updated-by-col {
    width: 19%; } }

@media screen and (min-width: 112.5em) {
  table.audit-trail-entries .access-level-col {
    width: 15%; } }

table.audit-trail-entry {
  margin: 0; }
  table.audit-trail-entry th {
    text-align: left; }
  table.audit-trail-entry th, table.audit-trail-entry td {
    padding: 2.5px 5px; }
    @media screen and (min-width: 112.5em) {
      table.audit-trail-entry th, table.audit-trail-entry td {
        padding: 10px; } }
  table.audit-trail-entry tbody td {
    text-align: left;
    font-size: 0.9375rem; }
  @media screen and (min-width: 112.5em) {
    table.audit-trail-entry .revision-col {
      width: 5%; } }
  @media screen and (min-width: 112.5em) {
    table.audit-trail-entry .updated-by-col {
      width: 17%; } }
  @media screen and (min-width: 112.5em) {
    table.audit-trail-entry .updated-col {
      width: 11%; } }
  @media screen and (min-width: 112.5em) {
    table.audit-trail-entry .published-col, table.audit-trail-entry .access-level-col {
      width: 9%; } }

table.documentation-structured-data {
  --nested-table-row-border-colour: var(--neutral-colour-lightness-8);
  --nested-table-row-border-width: 2px; }
  table.documentation-structured-data .nested-table-row-parent {
    border-width: var(--nested-table-row-border-width) var(--nested-table-row-border-width) 0 var(--nested-table-row-border-width);
    border-style: solid;
    border-color: var(--nested-table-row-border-colour); }
    table.documentation-structured-data .nested-table-row-parent + .nested-table-row {
      border-width: 0 var(--nested-table-row-border-width) var(--nested-table-row-border-width) var(--nested-table-row-border-width);
      border-style: solid;
      border-color: var(--nested-table-row-border-colour); }
      table.documentation-structured-data .nested-table-row-parent + .nested-table-row > td {
        padding: 25px; }
  table.documentation-structured-data thead th {
    text-align: left; }
  table.documentation-structured-data tbody td {
    text-align: left; }

table.folder-filters-table th {
  text-align: left; }

table.folder-filters-table tbody td {
  text-align: left; }

.table-container.table-scroll-enabled {
  position: relative;
  overflow-y: auto;
  border-bottom: 1px solid #aeaeae; }
  .table-container.table-scroll-enabled table thead th {
    border: 0; }

.table-container.scroll-middle thead:after, .table-container.scroll-at-bottom thead:after {
  -webkit-box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle, .table-container.scroll-at-top {
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle {
  -webkit-box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.audit-trail-entries {
  max-height: 400px; }
  @media screen and (min-width: 112.5em) {
    .table-container.audit-trail-entries {
      max-height: 600px; } }

.table-container table {
  margin: 0; }

.table-container thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: var(--white-colour);
  z-index: 1; }
  .table-container thead:after {
    content: '';
    height: 4px;
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    border-bottom: 1px solid #aeaeae; }

/*
---- Inputs ---- 
- Styling for form inputs ( select, input, textarea )
- Quantity selectors
- Forms
  - Fieldsets
  - Fields
- Validation
  - Form errors from the server
  - Advanced validation ( setting password )
- Primary, Secondary, Etc buttons used throughout the site.
- UI block pane.
*/
form {
  background-color: transparent;
  border-radius: 0; }

form.is-invalid button[type=submit], form.is-invalid .form-submit-button {
  cursor: not-allowed;
  opacity: 0.4; }
  form.is-invalid button[type=submit]:hover, form.is-invalid .form-submit-button:hover {
    background-color: #b20c0c !important; }

form.is-invalid input[type=submit] {
  cursor: not-allowed;
  opacity: 0.4; }

button:disabled, button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: none; }

input[type=submit]:hover {
  cursor: pointer; }

select:focus::-ms-value {
  background-color: transparent;
  color: #000000; }

@media screen and (min-width: 112.5em) {
  .column-content-container .control.text input {
    max-width: 360px; } }

@media screen and (min-width: 112.5em) {
  .column-content-container .control.text.password-reveal-container input {
    max-width: calc(360px - 45px); } }

.field {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5px 0; }
  @media print, screen and (min-width: 40em) {
    .field {
      max-width: 640px;
      margin: auto; } }
  .field.align-right {
    margin-left: 0; }
  .field.align-left {
    margin-right: 0; }
  .field label {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    font-size: 0.9375rem; }
    @media screen and (min-width: 112.5em) {
      .field label {
        margin: 10px 0; } }
    .field label.password-reveal-container input {
      max-width: calc(100% - 45px);
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      border-width: 1px 0 1px 1px;
      border-radius: 0 0 0 0; }
      @media screen and (min-width: 112.5em) {
        .field label.password-reveal-container input {
          max-width: calc(100% - 45px -  160px);
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
    .field label.password-reveal-container .label {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .field label.password-reveal-container .form-error {
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }
    .field label.password-reveal-container .password-reveal {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .field label .label + textarea {
      margin: 0; }
    .field label .label .advisory-text {
      width: 100%;
      display: block;
      color: #959595;
      font-size: 0.75rem;
      font-style: italic; }
    @media screen and (min-width: 112.5em) {
      .field label.text, .field label.email, .field label.tel, .field label.number, .field label.textarea {
        padding: 0 0 0 0; } }
  @media screen and (min-width: 112.5em) {
    .field:has(button[type="submit"].primary-button) {
      margin-top: 10px;
      margin-bottom: 10px; } }
  .field + .cms-content-container {
    margin-top: 20px;
    margin-bottom: 20px; }
  .field input:not([type=checkbox]) {
    padding: 5px 0 5px 25px;
    margin: 0; }
  @media screen and (min-width: 112.5em) {
    .field .label + textarea {
      max-width: 480px;
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .field textarea {
    margin: auto; }
    .field textarea:hover {
      border-color: #6d6d6d; }
  @media screen and (min-width: 112.5em) {
    .field .error-block {
      max-width: 581.81818px; } }
  .field:not(.medium):not(.large):not(.large-1) {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center; }
  .field.small {
    width: 100%;
    margin-bottom: 30px; }
    .field.small label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.small .label {
        width: 300px; } }
  .field.medium {
    width: 100%; }
    .field.medium label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.medium .label {
        width: 350px; } }
  .field.large {
    width: 100%; }
    .field.large label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    @media print, screen and (min-width: 40em) {
      .field.large .label {
        width: 440px; } }
  .field.full-width .label {
    width: 100%; }
  .field.list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .field.list label {
      margin-bottom: 15px; }
    @media print, screen and (min-width: 40em) {
      .field.list .label {
        width: 340px; } }
  .field .label {
    width: 100%;
    padding-right: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 112.5em) {
      .field .label {
        width: 160px;
        margin-bottom: 0; } }
    .field .label a {
      display: block;
      font-style: italic; }
  .field .control.select {
    margin: 0 auto 10px 0; }
  .field .custom-input-container {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .field .custom-input-container.active {
      max-height: 200px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  .field[class^="field small-"], .field[class^="field medium-"], .field[class^="field large-"] {
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .field[class^="field small-"] label, .field[class^="field medium-"] label, .field[class^="field large-"] label {
        width: auto; } }
    @media print, screen and (max-width: 112.49875em) {
      .field[class^="field small-"] .control.checkbox span.checkbox, .field[class^="field medium-"] .control.checkbox span.checkbox, .field[class^="field large-"] .control.checkbox span.checkbox {
        margin-right: 40px;
        margin-left: auto; } }
    .field[class^="field small-"] .custom-input-container, .field[class^="field medium-"] .custom-input-container, .field[class^="field large-"] .custom-input-container {
      padding: 0 10px; }
    .field[class^="field small-"] .additional-input-info, .field[class^="field medium-"] .additional-input-info, .field[class^="field large-"] .additional-input-info {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .field.small-1, .field.medium-1, .field.large-1 {
    margin: auto; }
    @media screen and (min-width: 112.5em) {
      .field.small-1, .field.medium-1, .field.large-1 {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
      width: auto;
      margin-right: 20px; }
      @media screen and (min-width: 112.5em) {
        .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
          width: 360px; } }
  .field.small-2 {
    width: 50%; }
  .field.small-3 {
    width: 33%; }
  @media print, screen and (min-width: 40em) {
    .field.medium-2 {
      width: 50%; } }
  @media print, screen and (min-width: 40em) {
    .field.medium-3 {
      width: 33%; } }
  @media screen and (min-width: 112.5em) {
    .field.large-2 {
      width: 50%; } }
  @media screen and (min-width: 112.5em) {
    .field.large-3 {
      width: 33%; } }

.additional-input-info {
  margin-bottom: 15px; }
  .additional-input-info a[href^="tel:"], .additional-input-info a[href^="mailto:"] {
    font-weight: 700; }
    .additional-input-info a[href^="tel:"]:hover, .additional-input-info a[href^="mailto:"]:hover {
      text-decoration: none; }
    .additional-input-info a[href^="tel:"].show-contact-icon:before, .additional-input-info a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .additional-input-info a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .additional-input-info a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .additional-input-info p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .additional-input-info p a:has([style*="float"]) {
    display: inline; }
  .additional-input-info p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .additional-input-info p img[style*="float:left"], .additional-input-info p img[style*="float: left"], .additional-input-info p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .additional-input-info p img[style*="float:right"], .additional-input-info p img[style*="float: right"], .additional-input-info p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .additional-input-info p img {
      margin: .2em 0; }
    .additional-input-info p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .additional-input-info ul, .additional-input-info ol {
    text-align: left; }
  .additional-input-info ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .additional-input-info ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .additional-input-info ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .additional-input-info ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #5F7B27;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .additional-input-info ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .additional-input-info ol ol ol {
        list-style-type: lower-roman; }
        .additional-input-info ol ol ol ol {
          list-style-type: lower-alpha; }
          .additional-input-info ol ol ol ol ol {
            list-style-type: lower-roman; }
  .additional-input-info li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 20px; }
  .additional-input-info ul + h2, .additional-input-info ol + h2 {
    margin-top: 20px; }
  .additional-input-info ul + h3, .additional-input-info ol + h3 {
    margin-top: 10px; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 10px; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 10px; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 15px; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 0.9375rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 0.9375rem; }
  .additional-input-info img {
    margin: 0 15px; }
  .additional-input-info.large {
    width: 100%; }

.lookup-content {
  width: 100%;
  position: relative; }

input[type=password] {
  color: #959595;
  font-size: 22px;
  letter-spacing: -1px;
  font-family: caption;
  -webkit-transition: font-size 0.8s;
  transition: font-size 0.8s;
  overflow: hidden;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 112.5em) {
    input[type=password] {
      font-size: 44px; } }
  input[type=password]:hover {
    -webkit-box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    input[type=password]:hover + button {
      -webkit-box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
              box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  input[type=password]:focus + button {
    border-color: #6d6d6d; }
  input[type=password] + button {
    border-radius: 0 0 0 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #c8c8c8;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .password-reveal:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-style: 12px;
    color: rgba(72, 72, 72, 0.7);
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .password-reveal:hover:before {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .password-reveal.input-active {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

input::-ms-clear, input::-ms-reveal {
  display: none; }

.action-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .action-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .action-button:hover, .action-button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .action-button:hover .graduated-colour-edge .step, .action-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .action-button:active, .action-button.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .action-button:disabled, .action-button.disabled, .action-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: #6d6d6d; }
  .action-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .action-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .action-button.success, .action-button.email {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #12811f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #12811f;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .action-button.success, .action-button.email {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.success:hover, .action-button.success.hover, .action-button.email:hover, .action-button.email.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.success:hover .graduated-colour-edge .step, .action-button.success.hover .graduated-colour-edge .step, .action-button.email:hover .graduated-colour-edge .step, .action-button.email.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.success:active, .action-button.success.active, .action-button.email:active, .action-button.email.active {
      color: #ffffff;
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.success:disabled, .action-button.success.disabled, .action-button.success[disabled], .action-button.email:disabled, .action-button.email.disabled, .action-button.email[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.success:disabled:hover, .action-button.success.disabled:hover, .action-button.email:disabled:hover, .action-button.email.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.success:focus-visible, .action-button.email:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.success .graduated-colour-edge .step, .action-button.email .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.warning {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #ff5e05;
    background-color: #ffefe6;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ff5e05;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .action-button.warning {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.warning:hover, .action-button.warning.hover {
        color: #ffffff;
        background-color: #ff5e05;
        border-color: #ff5e05;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.warning:hover .graduated-colour-edge .step, .action-button.warning.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.warning:active, .action-button.warning.active {
      color: #ffffff;
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.warning:disabled, .action-button.warning.disabled, .action-button.warning[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.warning:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.warning .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.alert {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #b20c0c;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .action-button.alert {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.alert:hover, .action-button.alert.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.alert:hover .graduated-colour-edge .step, .action-button.alert.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.alert:active, .action-button.alert.active {
      color: #ffffff;
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.alert:disabled, .action-button.alert.disabled, .action-button.alert[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.alert:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.alert .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

a[class*="-button"].align-center {
  margin-right: auto;
  margin-left: auto; }

a[class*="-button"].align-right {
  margin-right: 0;
  margin-left: auto; }

a[class*="-button"].align-left {
  margin-right: auto;
  margin-left: 0; }

.button1, .primary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .button1, .primary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .button1:hover, .button1.hover, .primary-button:hover, .primary-button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .button1:hover .graduated-colour-edge .step, .button1.hover .graduated-colour-edge .step, .primary-button:hover .graduated-colour-edge .step, .primary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .button1:active, .button1.active, .primary-button:active, .primary-button.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .button1:disabled, .button1.disabled, .button1[disabled], .primary-button:disabled, .primary-button.disabled, .primary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .button1:disabled:hover, .button1.disabled:hover, .primary-button:disabled:hover, .primary-button.disabled:hover {
    border-color: #6d6d6d; }
  .button1:focus-visible, .primary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .button1 .graduated-colour-edge .step, .primary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.secondary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .secondary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .secondary-button:hover, .secondary-button.hover {
      color: #5F7B27;
      background-color: #f5f7ed;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .secondary-button:hover .graduated-colour-edge .step, .secondary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .secondary-button:active, .secondary-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .secondary-button:disabled, .secondary-button.disabled, .secondary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: #6d6d6d; }
  .secondary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .secondary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.tertiary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #ff0101;
  background-color: #ffdfdf;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .tertiary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .tertiary-button:hover, .tertiary-button.hover {
      color: #ffffff;
      background-color: #ff0101;
      border-color: #ff0101;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .tertiary-button:hover .graduated-colour-edge .step, .tertiary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .tertiary-button:active, .tertiary-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #ffffff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .tertiary-button:disabled, .tertiary-button.disabled, .tertiary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .tertiary-button:disabled:hover, .tertiary-button.disabled:hover {
    border-color: #6d6d6d; }
  .tertiary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .tertiary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quaternary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 3.5px 16px);
  color: #ffffff;
  background-color: #DB651B;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #DB651B;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .quaternary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quaternary-button:hover, .quaternary-button.hover {
      color: #DB651B;
      background-color: #ffffff;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quaternary-button:hover .graduated-colour-edge .step, .quaternary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quaternary-button:active, .quaternary-button.active {
    color: #5F7B27;
    background-color: #ffffff;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quaternary-button:disabled, .quaternary-button.disabled, .quaternary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: #6d6d6d; }
  .quaternary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quaternary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quinary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #eeeeee;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .quinary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quinary-button:hover, .quinary-button.hover {
      color: #5F7B27;
      background-color: #c6c7c0;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quinary-button:hover .graduated-colour-edge .step, .quinary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quinary-button:active, .quinary-button.active {
    color: #5F7B27;
    background-color: #ffffff;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quinary-button:disabled, .quinary-button.disabled, .quinary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .quinary-button:disabled:hover, .quinary-button.disabled:hover {
    border-color: #6d6d6d; }
  .quinary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quinary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: transparent;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #5F7B27;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-button {
      margin: var(--common-button-medium-margin, 0 0 10px); } }
  @media screen and (min-width: 112.5em) {
    .cms-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0 0 10px); } }
  @media (hover: hover) {
    .cms-button:hover, .cms-button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: hover-color((default: transparent, hover: #5F7B27, active: #DB651B, disabled: #ffffff));
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-button:hover .graduated-colour-edge .step, .cms-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-button:active, .cms-button.active {
    color: #93b64d;
    background-color: #DB651B;
    border-color: #93b64d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-button:disabled, .cms-button.disabled, .cms-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-proceed-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 0.9375rem;
  font-weight: 600; }
  .cms-proceed-button:after {
    content: "";
    font-size: 12px;
    font-family: "Font Awesome Solid";
    font-weight: normal; }
  .cms-proceed-button:hover {
    text-decoration: none; }

.copy-to-clipboard-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .copy-to-clipboard-button:after {
    content: "";
    margin-left: 5px;
    color: #484848;
    font-family: "Font Awesome Solid";
    size: 15px; }
  .copy-to-clipboard-button .copied-text-container {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    position: absolute;
    top: -5px;
    left: -5px;
    padding: 5px;
    background-color: rgba(238, 238, 238, 0.9);
    color: #000000;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600; }

.location-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 9.5px 12px 9.5px 21px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 112.5em) {
    .location-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .location-button:hover, .location-button.hover {
      color: #5F7B27;
      background-color: #f4f6ee;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .location-button:hover:after, .location-button.hover:after {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .location-button:hover .graduated-colour-edge .step, .location-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .location-button:active, .location-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .location-button:active:after, .location-button.active:after {
      color: #ffffff; }
  .location-button:disabled, .location-button.disabled, .location-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .location-button:disabled:after, .location-button.disabled:after, .location-button[disabled]:after {
      color: #6d6d6d; }
  .location-button:disabled:hover, .location-button.disabled:hover {
    border-color: #6d6d6d; }
  .location-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .location-button:after {
    content: "";
    margin: 0 0 0 40px;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .location-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.third-party-tracking-reference {
  margin: 0;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #f4f6ee; }
  .third-party-tracking-reference .reference {
    margin-left: 5px; }

.third-party-tracking-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #f4f6ee;
  background-color: #7a8e52;
  border: 1px solid #f4f6ee; }
  .third-party-tracking-button:hover {
    color: #5F7B27;
    background-color: #f4f6ee;
    border-color: #5F7B27; }
    .third-party-tracking-button:hover:after {
      color: #5F7B27; }
  .third-party-tracking-button:active {
    color: #DB651B;
    background-color: #ffffff;
    border-color: #ffffff; }
    .third-party-tracking-button:active:after {
      color: #DB651B; }
  .third-party-tracking-button:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #f4f6ee; }

.third-party-tracking-button-2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5px 0 0;
  padding: 5px 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #7a8e52;
  border: 1px solid #aeaeae;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .third-party-tracking-button-2 {
      padding: 3px 5px;
      font-size: 0.75rem; } }
  .third-party-tracking-button-2:hover {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .third-party-tracking-button-2:hover:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .third-party-tracking-button-2:active {
    color: #5F7B27;
    background-color: #f4f6ee;
    border-color: #5F7B27; }
    .third-party-tracking-button-2:active:after {
      color: #5F7B27; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #7a8e52;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .third-party-tracking-button-2:after {
        margin-left: 6px;
        font-size: 13px; } }

.print-element-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media print, screen and (min-width: 40em) {
    .print-element-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 112.5em) {
    .print-element-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .print-element-button:hover, .print-element-button.hover {
      color: #5F7B27;
      background-color: #f5f7ed;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .print-element-button:hover .graduated-colour-edge .step, .print-element-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .print-element-button:active, .print-element-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #5F7B27; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .print-element-button:disabled:before, .print-element-button.disabled:before, .print-element-button[disabled]:before {
      color: #6d6d6d; }
  .print-element-button:disabled:hover, .print-element-button.disabled:hover {
    border-color: #6d6d6d; }
  .print-element-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .print-element-button:before {
    content: "";
    margin: 0 12px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .print-element-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.print-element-link:before {
  content: "";
  margin-right: 10px;
  font-family: "Font Awesome Solid"; }

#paypal-checkout-button, .paypal-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 12px 5px);
  background-color: #ffc439;
  border-width: 2px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #eeeeee;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  border-radius: 5px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    #paypal-checkout-button, .paypal-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 112.5em) {
    #paypal-checkout-button, .paypal-button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    #paypal-checkout-button:hover, #paypal-checkout-button.hover, .paypal-button:hover, .paypal-button.hover {
      background-color: #5F7B27;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      #paypal-checkout-button:hover .graduated-colour-edge .step, #paypal-checkout-button.hover .graduated-colour-edge .step, .paypal-button:hover .graduated-colour-edge .step, .paypal-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  #paypal-checkout-button:active, #paypal-checkout-button.active, .paypal-button:active, .paypal-button.active {
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  #paypal-checkout-button:disabled, #paypal-checkout-button.disabled, #paypal-checkout-button[disabled], .paypal-button:disabled, .paypal-button.disabled, .paypal-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  #paypal-checkout-button:disabled:hover, #paypal-checkout-button.disabled:hover, .paypal-button:disabled:hover, .paypal-button.disabled:hover {
    border-color: #6d6d6d; }
  #paypal-checkout-button:focus-visible, .paypal-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #paypal-checkout-button .graduated-colour-edge .step, .paypal-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  #paypal-checkout-button:after, .paypal-button:after {
    content: '';
    width: 6rem;
    height: 20px;
    display: inline-block;
    background-image: url("/template/content/development/images/icons/paypal.svg");
    background-position: right;
    background-repeat: no-repeat; }

.increment-row-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: auto;
  padding: 10px;
  color: #000000;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .increment-row-button:before {
    content: "+";
    font-family: "Font Awesome Solid"; }
  .increment-row-button:hover {
    color: var(--secondary-colour-lightness-0);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.page-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 30px; }
  @media screen and (min-width: 112.5em) {
    .page-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .page-buttons-container .button-container {
    --common-button-small-margin: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media print, screen and (max-width: 112.49875em) {
      .page-buttons-container .button-container {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 112.5em) {
      .page-buttons-container .button-container {
        width: 50%;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        gap: 10px 20px; } }
    .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
      margin-right: 0;
      margin-left: 0; }
      @media screen and (min-width: 112.5em) {
        .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
          margin-left: 0; } }
    @media screen and (min-width: 112.5em) {
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):only-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):only-child {
        margin-right: 0;
        margin-left: auto; }
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child {
        margin-left: auto; } }
    @media print, screen and (max-width: 112.49875em) {
      .page-buttons-container .button-container [class*="-button"] {
        width: 100%; } }
    @media screen and (min-width: 112.5em) {
      .page-buttons-container .button-container [class*="-button"]:not(.action-button) {
        margin-right: 0; }
      .page-buttons-container .button-container [class*="-button"].action-button {
        margin-left: 0; } }
    @media screen and (min-width: 112.5em) {
      .page-buttons-container .button-container .secondary-button {
        margin-left: auto; } }

.addToBasketForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.basket-add-button.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .basket-add-button.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #5F7B27; }
  .basket-add-button.icon.disabled {
    cursor: not-allowed; }
    .basket-add-button.icon.disabled:before {
      color: #ffffff; }

.basket-add-button.text-based {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #93b64d;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #93b64d;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .basket-add-button.text-based {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .basket-add-button.text-based:hover, .basket-add-button.text-based.hover {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .basket-add-button.text-based:hover .graduated-colour-edge .step, .basket-add-button.text-based.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .basket-add-button.text-based:active, .basket-add-button.text-based.active {
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.text-based:disabled, .basket-add-button.text-based.disabled, .basket-add-button.text-based[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: #6d6d6d; }
  .basket-add-button.text-based:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .basket-add-button.text-based .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.addToBasket.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .addToBasket.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .addToBasket.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .addToBasket.icon:not(.disabled):active:before {
    color: #5F7B27; }
  .addToBasket.icon.disabled {
    cursor: not-allowed; }
    .addToBasket.icon.disabled:before {
      color: #ffffff; }

.add-to-basket:not(.preset-2) {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #93b64d;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #93b64d;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .add-to-basket:not(.preset-2) {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket:not(.preset-2):hover, .add-to-basket:not(.preset-2).hover {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket:not(.preset-2):hover .graduated-colour-edge .step, .add-to-basket:not(.preset-2).hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket:not(.preset-2):active, .add-to-basket:not(.preset-2).active {
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket:not(.preset-2):disabled, .add-to-basket:not(.preset-2).disabled, .add-to-basket:not(.preset-2)[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: #6d6d6d; }
  .add-to-basket:not(.preset-2):focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket:not(.preset-2) .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.add-to-basket.preset-2 {
  --component-specifc-step-height: 15px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 0.83333rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .add-to-basket.preset-2 {
      width: 100px;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket.preset-2:hover, .add-to-basket.preset-2.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket.preset-2:hover .graduated-colour-edge .step, .add-to-basket.preset-2.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket.preset-2:active, .add-to-basket.preset-2.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket.preset-2:disabled, .add-to-basket.preset-2.disabled, .add-to-basket.preset-2[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .add-to-basket.preset-2:disabled:hover, .add-to-basket.preset-2.disabled:hover {
    border-color: #6d6d6d; }
  .add-to-basket.preset-2:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket.preset-2 .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.animated.drop:before {
  color: #DB651B !important;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.animated.drop:after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 25px;
  background-color: #DB651B;
  -webkit-animation: basketIconHover 0.5s;
          animation: basketIconHover 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  z-index: -1;
  opacity: 0; }

@-webkit-keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

@keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

.stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .stockline-view-button a:hover, .stockline-view-button a.hover, .stockline-view-button button:hover, .stockline-view-button button.hover, .stockline-view-container a:hover, .stockline-view-container a.hover, .stockline-view-container button:hover, .stockline-view-container button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .stockline-view-button a:hover .graduated-colour-edge .step, .stockline-view-button a.hover .graduated-colour-edge .step, .stockline-view-button button:hover .graduated-colour-edge .step, .stockline-view-button button.hover .graduated-colour-edge .step, .stockline-view-container a:hover .graduated-colour-edge .step, .stockline-view-container a.hover .graduated-colour-edge .step, .stockline-view-container button:hover .graduated-colour-edge .step, .stockline-view-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .stockline-view-button a:active, .stockline-view-button a.active, .stockline-view-button button:active, .stockline-view-button button.active, .stockline-view-container a:active, .stockline-view-container a.active, .stockline-view-container button:active, .stockline-view-container button.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .stockline-view-button a:disabled, .stockline-view-button a.disabled, .stockline-view-button a[disabled], .stockline-view-button button:disabled, .stockline-view-button button.disabled, .stockline-view-button button[disabled], .stockline-view-container a:disabled, .stockline-view-container a.disabled, .stockline-view-container a[disabled], .stockline-view-container button:disabled, .stockline-view-container button.disabled, .stockline-view-container button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .stockline-view-button a:disabled:hover, .stockline-view-button a.disabled:hover, .stockline-view-button button:disabled:hover, .stockline-view-button button.disabled:hover, .stockline-view-container a:disabled:hover, .stockline-view-container a.disabled:hover, .stockline-view-container button:disabled:hover, .stockline-view-container button.disabled:hover {
    border-color: #6d6d6d; }
  .stockline-view-button a:focus-visible, .stockline-view-button button:focus-visible, .stockline-view-container a:focus-visible, .stockline-view-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .stockline-view-button a .graduated-colour-edge .step, .stockline-view-button button .graduated-colour-edge .step, .stockline-view-container a .graduated-colour-edge .step, .stockline-view-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.not-logged-in-container a, .not-logged-in-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .not-logged-in-container a, .not-logged-in-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .not-logged-in-container a:hover, .not-logged-in-container a.hover, .not-logged-in-container button:hover, .not-logged-in-container button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .not-logged-in-container a:hover .graduated-colour-edge .step, .not-logged-in-container a.hover .graduated-colour-edge .step, .not-logged-in-container button:hover .graduated-colour-edge .step, .not-logged-in-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .not-logged-in-container a:active, .not-logged-in-container a.active, .not-logged-in-container button:active, .not-logged-in-container button.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .not-logged-in-container a:disabled, .not-logged-in-container a.disabled, .not-logged-in-container a[disabled], .not-logged-in-container button:disabled, .not-logged-in-container button.disabled, .not-logged-in-container button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .not-logged-in-container a:disabled:hover, .not-logged-in-container a.disabled:hover, .not-logged-in-container button:disabled:hover, .not-logged-in-container button.disabled:hover {
    border-color: #6d6d6d; }
  .not-logged-in-container a:focus-visible, .not-logged-in-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .not-logged-in-container a .graduated-colour-edge .step, .not-logged-in-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.enquiry-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .enquiry-button-container .enquiry-button {
    --component-specifc-step-height: 15px;
    width: auto;
    height: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #f5f7ed;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 112.5em) {
      .enquiry-button-container .enquiry-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .enquiry-button-container .enquiry-button:hover, .enquiry-button-container .enquiry-button.hover {
        color: #ffffff;
        background-color: #5F7B27;
        border-color: #93b64d;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .enquiry-button-container .enquiry-button:hover .graduated-colour-edge .step, .enquiry-button-container .enquiry-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .enquiry-button-container .enquiry-button:active, .enquiry-button-container .enquiry-button.active {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .enquiry-button-container .enquiry-button:disabled, .enquiry-button-container .enquiry-button.disabled, .enquiry-button-container .enquiry-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .enquiry-button-container .enquiry-button:disabled:hover, .enquiry-button-container .enquiry-button.disabled:hover {
      border-color: #6d6d6d; }
    .enquiry-button-container .enquiry-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .enquiry-button-container .enquiry-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.favouritesContainer a[disabled], .favouritesContainer a.disabled {
  color: #6d6d6d;
  opacity: 0.4;
  cursor: not-allowed; }
  .favouritesContainer a[disabled]:after, .favouritesContainer a[disabled]:hover:after, .favouritesContainer a.disabled:after, .favouritesContainer a.disabled:hover:after {
    font-family: "Font Awesome Regular";
    color: #6d6d6d; }

.favouritesContainer a:after {
  content: "";
  color: #DB651B;
  font-size: 23px;
  font-family: "Font Awesome Regular";
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.favouritesContainer a:hover:after {
  color: #DB651B;
  font-family: "Font Awesome Solid";
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.favouritesContainer a:active:after {
  color: #DB651B;
  font-family: "Font Awesome Solid"; }

.favouritesContainer.active a:after {
  font-family: "Font Awesome Solid"; }

.favouritesContainer.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .favouritesContainer.preset1 a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 0.875rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.favouritesContainer.preset2:not(.active) a:hover {
  text-decoration: none; }

.favouritesContainer.preset2 a {
  width: 35px;
  height: 35px;
  position: relative;
  display: block; }
  .favouritesContainer.preset2 a:after {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .favouritesContainer.preset2 a:hover {
    text-decoration: none; }

label.disabled, label.readonly {
  cursor: no-drop; }

.control input[type=checkbox], .control input[type=radio] {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  opacity: 0; }

@-moz-document url-prefix() {
  .control input[type=checkbox], .control input[type=radio] {
    margin-right: -4px !important; } }

.control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  line-height: 20px; }
  @media print, screen and (max-width: 112.49875em) {
    .control {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 112.5em) {
    .control {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .control input[type=checkbox], .control input[type=radio] {
    z-index: -1;
    position: relative; }
  .control.is-hovered .input-prefix-icon, .control:hover .input-prefix-icon {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
    -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.is-invalid-label .input-prefix-icon {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .control.is-invalid-label .input-prefix-icon:before {
      color: #b20c0c; }
  .control.is-invalid-label:hover .input-prefix-icon, .control.is-invalid-label:hover input {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1); }
  .control + .label {
    padding-left: 5px; }
  .control .input-prefix-icon {
    height: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    background-color: #ffffff;
    border-width: 1px 0 1px 1px;
    border-color: #c8c8c8;
    border-style: solid;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
    z-index: 1; }
    .control .input-prefix-icon:hover {
      -webkit-transition: border-color 0.6s, background-color 0.6s;
      transition: border-color 0.6s, background-color 0.6s; }
    .control .input-prefix-icon:before {
      line-height: normal; }
    .control .input-prefix-icon + input {
      border-left-width: 0; }
  .control .label {
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover .label {
    color: #5F7B27;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=text], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=number], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=tel], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover textarea {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.read-only-input, .control.disabled-input {
    cursor: no-drop; }
    @media print, screen and (max-width: 112.49875em) {
      .control.read-only-input:not(.text):hover:after, .control.disabled-input:not(.text):hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:not(.text):after, .control.disabled-input:not(.text):after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
    @media screen and (min-width: 112.5em) {
      .control.read-only-input:hover:after, .control.disabled-input:hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:after, .control.disabled-input:after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
  @media screen and (min-width: 112.5em) {
    .control.checkbox.small {
      width: auto; } }
  .control.checkbox.small input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox.small input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox.small input + span {
    border-color: #c8c8c8; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox.small input[readonly] + span:before, .control.checkbox.small input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:checked + span:before {
    opacity: 1; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:before {
    color: #DB651B; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox.small input:checked[disabled] + span:before, .control.checkbox.small input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.checkbox:not(.small) input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox:not(.small) input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox:not(.small) input + span {
    border-color: #c8c8c8; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox:not(.small) input[readonly] + span:before, .control.checkbox:not(.small) input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:checked + span:before {
    opacity: 1; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:before {
    color: #DB651B; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input:checked[disabled] + span:before, .control.checkbox:not(.small) input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.radio {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .control.radio:not(.checkbox) input:checked + span.radio {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .control.radio:not(.checkbox) input:checked + span.radio:after {
      background-color: #DB651B;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .control.radio:not(.checkbox) span.radio {
    width: 15px;
    height: 15px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    border-radius: 15px;
    border: 1px solid #c8c8c8;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:after {
      content: '';
      width: 7.5px;
      height: 7.5px;
      position: relative;
      top: .2px;
      left: .4px;
      display: block;
      margin: auto;
      background-color: #ffffff;
      border-radius: 7.5px;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:hover {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:hover:after {
        background-color: #6d6d6d; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #DB651B; }
  .control.radio.checkbox input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.radio.checkbox input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.radio.checkbox input + span {
    border-color: #c8c8c8; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.radio.checkbox input[readonly] + span:before, .control.radio.checkbox input[disabled]:before {
      cursor: no-drop; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:checked + span:before {
    opacity: 1; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:before {
    color: #DB651B; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.radio.checkbox input:checked[disabled] + span:before, .control.radio.checkbox input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.select {
    width: 100%; }
    .control.select select {
      height: 45px;
      width: auto;
      display: block;
      margin: 0; }
      .control.select select:disabled + .control-select-container .selected-option, .control.select select[readonly] + .control-select-container .selected-option {
        background-color: var(--neutral-colour-lightness-8);
        border-color: #6d6d6d;
        cursor: no-drop; }
      .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow {
        background-color: var(--neutral-colour-lightness-8); }
        .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow:after, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow:after {
          color: #6d6d6d; }
      .control.select select.is-invalid-input + .control-select-container .selected-option {
        background-color: #fde1e1;
        border-color: #b20c0c; }
      .control.select select:focus + div[class=control-select-container] .selected-option {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: #6d6d6d; }
    .control.select.is-closing {
      z-index: 2000; }
    .control.select.active, .control.select.active:hover {
      z-index: 1999; }
      .control.select.active:hover .control-select-options, .control.select.active:hover:hover .control-select-options {
        border-color: #6d6d6d; }
      .control.select.active.dropdown-top .selected-option, .control.select.active:hover.dropdown-top .selected-option {
        border-radius: 0 0 0 0; }
        .control.select.active.dropdown-top .selected-option .select-arrow, .control.select.active:hover.dropdown-top .selected-option .select-arrow {
          border-radius: 0 0 0 0; }
      .control.select.active.dropdown-top .control-select-options, .control.select.active:hover.dropdown-top .control-select-options {
        border-radius: 0 0 0 0; }
      .control.select.active .selected-option, .control.select.active:hover .selected-option {
        border-width: 1px 1px 0 1px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-radius: 0 0 0 0; }
        .control.select.active .selected-option:focus, .control.select.active:hover .selected-option:focus {
          border-color: #6d6d6d; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #DB651B;
        border-radius: 0 0 0 0; }
        .control.select.active .select-arrow:after, .control.select.active:hover .select-arrow:after {
          content: "";
          color: #ffffff; }
      .control.select.active .control-select-options, .control.select.active:hover .control-select-options {
        max-height: 185px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .control.select.dropdown-bottom .selected-option {
      border-bottom-color: #c8c8c8; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #c8c8c8; }
    .control.select.dropdown-top .control-select-options {
      top: auto;
      bottom: 100%;
      margin: 0;
      border-width: 1px 1px 0 1px; }
    .control.select.dropdown-top.active .selected-option {
      border-width: 0 1px 1px 1px; }
    .control.select .select-arrow {
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background-color: transparent;
      border-radius: 0 0 0 0;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .control.select .select-arrow:after {
        content: "";
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 18px;
        font-family: "Font Awesome Solid";
        color: #959595;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .control.select .selected-option {
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      padding: 5px 0 5px 0;
      padding-right: 33px;
      margin: 0;
      background: #ffffff;
      border: 1px solid #c8c8c8;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      font-size: 0.875rem;
      opacity: 1;
      outline: 0;
      border-radius: 0; }
      .control.select .selected-option .selected-description {
        padding: 5px 0 5px 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.875rem; }
        @media screen and (min-width: 112.5em) {
          .control.select .selected-option .selected-description {
            white-space: nowrap; } }
      .selected-description {
        color: #484848; }
      .control.select .selected-option:hover {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: #6d6d6d; }
      .control.select .selected-option:focus {
        border-color: #c8c8c8; }
    .control.select .control-select-options {
      max-height: 0;
      width: 100%;
      position: absolute;
      margin: auto 0 0;
      padding: 0;
      border-width: 0 1px 0 1px;
      border-style: solid;
      border-color: transparent;
      background-color: #ffffff;
      list-style: none;
      font-size: 0.875rem;
      overflow-x: hidden;
      overflow-y: scroll;
      -webkit-transition: all 0.8s;
      transition: all 0.8s;
      z-index: 1;
      border-radius: 0 0 0 0; }
    .control.select .control-select-option {
      padding: 5px 0 5px 10px;
      text-align: left;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      .control.select .control-select-option[selected] {
        background-color: #5F7B27;
        color: #ffffff;
        font-weight: 600; }
      .control.select .control-select-option[disabled], .control.select .control-select-option.disabled {
        background-color: var(--neutral-colour-lightness-8);
        color: #6d6d6d;
        cursor: no-drop; }
      .control.select .control-select-option:hover {
        color: #ffffff;
        background-color: #DB651B;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #7a8e52;
        color: #ffffff; }
        .control.select .control-select-option:active[disabled], .control.select .control-select-option:active.disabled {
          opacity: 0.7; }
    .control.select .control-select-container {
      min-width: 150px;
      max-width: 100%;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 112.5em) {
        .control.select .control-select-container {
          width: auto; } }
    .control.select .control-select-dropdown {
      width: 100%;
      position: relative; }
      @media screen and (min-width: 112.5em) {
        .control.select .control-select-dropdown {
          height: 45px; } }
      .control.select .control-select-dropdown:hover .select-arrow {
        background-color: #5F7B27; }
        .control.select .control-select-dropdown:hover .select-arrow:after {
          color: #ffffff; }
    .control.select.title .control-select-dropdown {
      width: 250px; }
  .control.text {
    cursor: text; }
    .control.text input {
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .control.text input:not([type=password]):hover {
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .control.text input:hover {
        border-color: #6d6d6d;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .control.text input:hover.is-invalid-input {
          border-color: #b20c0c; }
          .control.text input:hover.is-invalid-input:focus {
            border-color: #6d6d6d; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: #6d6d6d; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: #6d6d6d;
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; }
      .control.text input + button:focus {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.slider {
    height: auto;
    background-color: transparent;
    border: 0; }
  .control.file {
    width: 100% !important;
    height: 100% !important;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
    padding: 10px;
    background-color: transparent;
    border: 4px solid #c6c7c0;
    border-radius: 0;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .control.file:after {
      content: '';
      width: calc(100% - 2.5px);
      height: calc(100% - 2.5px);
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      border: 2.5px dashed #c6c7c0;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .control.file {
        width: 700px !important;
        padding: 38px 10px; } }
    .control.file:hover {
      background-color: transparent;
      border-color: #5F7B27;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .control.file:hover:after {
        border-color: #5F7B27;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #5F7B27; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(147, 182, 77, 0.1);
      border-color: rgba(95, 123, 39, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(95, 123, 39, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(95, 123, 39, 0.7); }
    .control.file.is-invalid-label {
      border-color: #b20c0c;
      background-color: #fde1e1; }
      .control.file.is-invalid-label:after {
        border-color: #b20c0c; }
      .control.file.is-invalid-label .form-error {
        margin: 20px 0; }
      .control.file.is-invalid-label .file-upload-icon:before {
        content: "";
        color: #b20c0c; }
      .control.file.is-invalid-label span.label {
        color: #b20c0c; }
    .control.file span.label {
      width: 100%;
      padding: 5px 10px;
      text-align: center;
      font-size: 1rem;
      font-weight: 700;
      color: #5F7B27;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 112.5em) {
        .control.file span.label {
          padding: 5px; } }
    .control.file .file-upload-icon {
      padding: 20px 10px 0;
      display: block;
      line-height: normal; }
      .control.file .file-upload-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 46px;
        color: #5F7B27; }
      .control.file .file-upload-icon + .label {
        padding-top: 10px; }
    .control.file .input-button-container {
      margin-bottom: 5px;
      z-index: 2; }
      @media screen and (min-width: 112.5em) {
        .control.file .input-button-container {
          margin-bottom: 10px; } }
    .control.file .file-size {
      margin-left: 10px;
      font-size: 0.8125rem;
      font-weight: 700; }
    .control.file .remove-button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto;
      padding: 10px;
      cursor: pointer;
      z-index: 2; }
      .control.file .remove-button:hover {
        text-decoration: underline; }
      .control.file .remove-button:after {
        content: "";
        margin-left: 10px;
        font-family: "Font Awesome Solid";
        font-size: 18px;
        color: #484848; }
    .control.file input {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0;
      opacity: 0;
      cursor: pointer;
      z-index: 1; }
  .control.search input {
    height: 45px; }
    .control.search input + button {
      height: 45px;
      margin: auto 0; }
  .control .tooltip-container {
    margin-left: 20px; }
  .control:hover .tooltip-trigger:before {
    -webkit-animation: animateToolTipHint 2s;
            animation: animateToolTipHint 2s; }

.quantity-selector-container select, .quantity-selector-container .control.select .control-select-dropdown {
  width: 90px; }

.quantity-selector-container .control.select .selected-option .selected-description {
  padding-left: 10px; }

@-webkit-keyframes animateToolTipHint {
  0% {
    background-color: rgba(72, 72, 72, 0.7);
    color: #ffffff; }
  20% {
    background-color: #DB651B;
    color: #ffffff; } }

@keyframes animateToolTipHint {
  0% {
    background-color: rgba(72, 72, 72, 0.7);
    color: #ffffff; }
  20% {
    background-color: #DB651B;
    color: #ffffff; } }

@media print, screen and (max-width: 112.49875em) {
  input {
    font-size: 1rem !important; } }

input::-webkit-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::-moz-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input:-ms-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::-ms-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input.mail-input {
  height: 45px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  float: left;
  border-style: solid;
  border-width: 1px;
  border-radius: 0 0 0 0;
  margin: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media print, screen and (min-width: 40em) {
    input.mail-input {
      width: auto;
      border-width: 1px 0 1px 1px; } }
  input.mail-input.is-invalid-input + button {
    border-color: #b20c0c;
    background-color: #fde1e1;
    opacity: 1; }
    input.mail-input.is-invalid-input + button:before {
      color: #b20c0c; }
    input.mail-input.is-invalid-input + button:hover:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  input.mail-input + button {
    width: 100%;
    height: 45px;
    margin: 5px 0 0;
    padding: 0 5px;
    background-color: #ffffff;
    border-style: solid;
    border-color: #c8c8c8;
    border-width: 1px;
    color: rgba(95, 123, 39, 0.6);
    cursor: pointer;
    border-radius: 0 0 0 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media print, screen and (min-width: 40em) {
      input.mail-input + button {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        border-width: 1px 1px 1px 0; } }
    input.mail-input + button:empty:before {
      content: "";
      width: 40px;
      display: block;
      margin: auto;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: rgba(95, 123, 39, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #c8c8c8;
      background-color: rgba(95, 123, 39, 0.6);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:hover:empty:before {
        color: #ffffff; }
    input.mail-input + button:active {
      color: #ffffff;
      border-color: #6d6d6d;
      background-color: #DB651B;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:active:empty:before {
        color: #ffffff; }

.conditional-inputs {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .conditional-inputs.active {
    max-height: 2000px;
    overflow: visible;
    background-color: #ffffff;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.quantity-free-text-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .quantity-free-text-container .input-number-decrement, .quantity-free-text-container .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container .input-number-decrement:before, .quantity-free-text-container .input-number-increment:before {
      color: #5F7B27; }
    @media (hover: hover) {
      .quantity-free-text-container .input-number-decrement:hover, .quantity-free-text-container .input-number-increment:hover {
        background-color: #ffffff; }
        .quantity-free-text-container .input-number-decrement:hover:before, .quantity-free-text-container .input-number-increment:hover:before {
          color: #DB651B; } }
    .quantity-free-text-container .input-number-decrement:active, .quantity-free-text-container .input-number-increment:active {
      background-color: #eeeeee; }
      .quantity-free-text-container .input-number-decrement:active:before, .quantity-free-text-container .input-number-increment:active:before {
        color: #000000; }
  .quantity-free-text-container.preset-1 .input-number-decrement, .quantity-free-text-container.preset-1 .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container.preset-1 .input-number-decrement:before, .quantity-free-text-container.preset-1 .input-number-increment:before {
      color: #ffffff; }
    @media (hover: hover) {
      .quantity-free-text-container.preset-1 .input-number-decrement:hover, .quantity-free-text-container.preset-1 .input-number-increment:hover {
        background-color: #eeeeee; }
        .quantity-free-text-container.preset-1 .input-number-decrement:hover:before, .quantity-free-text-container.preset-1 .input-number-increment:hover:before {
          color: #5F7B27; } }
    .quantity-free-text-container.preset-1 .input-number-decrement:active, .quantity-free-text-container.preset-1 .input-number-increment:active {
      background-color: #dadada; }
      .quantity-free-text-container.preset-1 .input-number-decrement:active:before, .quantity-free-text-container.preset-1 .input-number-increment:active:before {
        color: #DB651B; }
  .quantity-free-text-container .input-group-button span.disabled {
    background-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:before {
      color: #dadada; }
    .quantity-free-text-container .input-group-button span.disabled:hover {
      border-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:active {
      background-color: transparent; }
  .quantity-free-text-container .label {
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600; }
    @media screen and (min-width: 112.5em) {
      .quantity-free-text-container .label {
        padding: 6px 15px 6px 0; } }
  .quantity-free-text-container input[type=number]::-webkit-inner-spin-button, .quantity-free-text-container input[type=number]::-webkit-outer-spin-button, .quantity-free-text-container input[type=number] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    margin: 0; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment {
    border-color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled), .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled) {
      background-color: #fde1e1; }
      .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled):before, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled):before {
        color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement.disabled, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment.disabled {
      border-color: #6d6d6d; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number {
    color: #b20c0c;
    background-color: #fde1e1; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-webkit-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-moz-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number:-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::placeholder {
      color: #b20c0c; }
  .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    @media (hover: hover) {
      .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number:hover {
        border-color: #b20c0c;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .quantity-free-text-container.is-invalid-quantity .quantity-error {
    max-height: 100px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .quantity-free-text-container .quantity-error {
    max-height: 0;
    display: block;
    color: #b20c0c;
    font-size: 0.75rem;
    font-weight: bold;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }

.quantity-free-text-container .input-group {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-free-text-container .input-group {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-free-text-container .input-group input {
    width: 50px;
    height: 45px; }

.input-number-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .input-number-group .input-group-button {
    line-height: 36px; }
  .input-number-group .input-group-button span.disabled {
    cursor: no-drop; }
  .input-number-group .input-number {
    padding: 0;
    font-size: 0.9375rem;
    text-align: center;
    outline: none;
    display: block;
    margin: 0;
    border-color: #c8c8c8;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .input-number-group .input-number:hover {
      border-color: #6d6d6d;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .input-number-group .input-number,
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    border-radius: 0;
    height: 45px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 45px;
    background: transparent;
    text-align: center;
    border-color: transparent;
    border-style: solid;
    cursor: pointer;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .input-number-group .input-number-decrement:before,
    .input-number-group .input-number-increment:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    @media (hover: hover) {
      .input-number-group .input-number-decrement:hover,
      .input-number-group .input-number-increment:hover {
        border-color: #c8c8c8; }
        .input-number-group .input-number-decrement:hover:not(.disabled),
        .input-number-group .input-number-increment:hover:not(.disabled) {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  .input-number-group .input-number-decrement {
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-decrement:before {
      content: ""; }
  .input-number-group .input-number-increment {
    border-width: 1px 1px 1px 0;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-increment:before {
      content: ""; }

.quantity-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-selector-container {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-selector-container .control-select-container {
    height: 45px; }
  @media screen and (min-width: 112.5em) {
    .quantity-selector-container .select {
      width: 90px; } }
  .quantity-selector-container .select select {
    height: 45px; }
  .quantity-selector-container .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 112.5em) {
      .quantity-selector-container .label {
        margin-right: 15px; } }

span.form-error {
  width: 100%;
  margin: 0;
  text-align: center;
  border: 0; }
  @media screen and (min-width: 112.5em) {
    span.form-error {
      padding-left: 160px;
      text-align: left; } }
  span.form-error.is-visible {
    margin-top: 10px; }

span.form-callout-error {
  display: none !important; }

.is-invalid-input {
  border-color: #b20c0c; }

ul.advanced-validation {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 10px;
  list-style: none;
  margin: 0 0 35px; }
  @media print, screen and (min-width: 40em) {
    ul.advanced-validation {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0; } }
  ul.advanced-validation > li {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li {
        width: auto; } }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li:not(:first-child) {
        padding: 0 0 0 11px; } }
    ul.advanced-validation > li.advanced-form-error {
      width: auto;
      margin: 0 10px;
      position: relative;
      font-size: 0.9375rem;
      font-weight: 600;
      font-style: italic;
      color: #000000; }
      ul.advanced-validation > li.advanced-form-error:before {
        content: "";
        display: inline-block;
        margin: 0 5px 0 0;
        font-size: 15px;
        font-family: "Font Awesome Solid";
        font-style: normal;
        color: rgba(72, 72, 72, 0.7); }
      ul.advanced-validation > li.advanced-form-error.is-valid {
        color: #12811f; }
        ul.advanced-validation > li.advanced-form-error.is-valid:before {
          content: ""; }
      ul.advanced-validation > li.advanced-form-error.is-invalid {
        color: #b20c0c; }
        ul.advanced-validation > li.advanced-form-error.is-invalid:before {
          content: ""; }

.advanced-validation-active.is-invalid-label {
  color: #959595; }

.group-form-error {
  display: none;
  margin: 10px 0 0;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .group-form-error h2, .group-form-error h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .group-form-error ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .group-form-error ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .group-form-error ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #5F7B27;
        border-radius: 5px; }
    .group-form-error ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 0.9375rem; }
  .group-form-error p, .group-form-error a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 0.9375rem; }
  .group-form-error a {
    text-decoration: underline; }
  @media screen and (min-width: 112.5em) {
    .group-form-error {
      margin: 0 0 10px; } }

.error-block {
  width: 100%;
  background-color: #fde1e1;
  margin: 0 0 30px;
  padding: 10px 20px;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .error-block h2, .error-block h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .error-block ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .error-block ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .error-block ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #5F7B27;
        border-radius: 5px; }
    .error-block ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 0.9375rem; }
  .error-block p, .error-block a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 0.9375rem; }
  .error-block a {
    text-decoration: underline; }

.control.is-invalid-label input {
  background-color: #fde1e1;
  border-color: #b20c0c;
  -webkit-transition: border-color 0.6s, background-color 0.6s;
  transition: border-color 0.6s, background-color 0.6s; }
  .control.is-invalid-label input:focus {
    border-color: #6d6d6d; }
  .control.is-invalid-label input::-webkit-input-placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-moz-placeholder {
    color: #b20c0c;
    -moz-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input:-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input + button {
    background-color: #fde1e1;
    border-color: #b20c0c;
    color: #b20c0c; }
    .control.is-invalid-label input + button:before {
      color: #b20c0c; }
  .control.is-invalid-label input + span.checkbox {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

@-webkit-keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

@keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

.field-lead-in-text {
  width: 100%;
  color: #000000;
  font-weight: 400; }

label:not(.disabled) .label:hover, label:not(.read-only-input) .label:hover {
  color: #5F7B27; }

label:not(.disabled) .label:active, label:not(.read-only-input) .label:active {
  color: #DB651B; }

label .label {
  color: #000000;
  font-weight: 400; }

label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
  position: relative;
  height: 45px; }
  @media print, screen and (min-width: 40em) {
    label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }

label input.is-invalid-input + button.inline-button {
  border-color: #b20c0c; }

label input.is-invalid-input[type=password]:focus + button.inline-button {
  border-color: #6d6d6d; }

label input:focus + button.inline-button:hover {
  border-color: #6d6d6d;
  background-color: #ffffff; }

/* clears the 'X' from Internet Explorer */
/* clears the 'X' from Chrome */
.lookup-container {
  width: 100%; }

.postcode-lookup-error {
  display: none;
  color: #b20c0c; }
  .postcode-lookup-error.active {
    display: block; }

input.lookup-key {
  width: 100%;
  margin-right: 15px; }
  @media print, screen and (min-width: 40em) {
    input.lookup-key {
      width: 360px;
      margin-right: 10px; } }
  @media screen and (min-width: 112.5em) {
    input.lookup-key + button {
      height: 45px; } }
  input.lookup-key.is-valid-input + button {
    background-color: #93b64d;
    color: #ffffff; }
  input.lookup-key.is-invalid-input + button {
    cursor: not-allowed; }

button.lookup-submit {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0 0);
  padding: var(--common-button-padding, 12px 13px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #959595;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    button.lookup-submit {
      margin: var(--common-button-medium-margin, 0 0 0 10px); } }
  @media screen and (min-width: 112.5em) {
    button.lookup-submit {
      width: auto;
      margin: var(--common-button-large-margin, 0 0 0 10px); } }
  @media (hover: hover) {
    button.lookup-submit:hover, button.lookup-submit.hover {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      button.lookup-submit:hover .graduated-colour-edge .step, button.lookup-submit.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  button.lookup-submit:active, button.lookup-submit.active {
    color: #ffffff;
    background-color: #93b64d;
    border-color: #93b64d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  button.lookup-submit:disabled, button.lookup-submit.disabled, button.lookup-submit[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  button.lookup-submit:disabled:hover, button.lookup-submit.disabled:hover {
    border-color: #6d6d6d; }
  button.lookup-submit:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  button.lookup-submit .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.lookup-results {
  width: 100%; }
  .lookup-results ul {
    max-height: 225px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto; }
    .lookup-results ul .selected {
      color: #5F7B27;
      font-weight: 600; }
    .lookup-results ul li:not(:last-child) {
      margin-bottom: 10px; }
  .lookup-results button, .lookup-results a {
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .lookup-results button span, .lookup-results a span {
      color: #5F7B27;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #5F7B27;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #DB651B; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #DB651B;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  @media screen and (min-width: 112.5em) {
    .lookup-results.branch-search, .lookup-results.account-search {
      margin-left: 120px; } }
  .lookup-results.branch-search button, .lookup-results.account-search button {
    text-align: left; }

.geolocation-contianer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

input[type=search] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  padding: 5px 0 5px 25px;
  background-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #c8c8c8;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  display: inline-block;
  -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }
  input[type=search]:hover, input[type=search].hover {
    -webkit-box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
            box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    input[type=search]:hover + button, input[type=search].hover + button {
      -webkit-box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
              box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
      border-color: #6d6d6d;
      background-color: #5F7B27; }
      input[type=search]:hover + button:before, input[type=search].hover + button:before {
        color: #ffffff; }
  input[type=search]:focus, input[type=search]:active, input[type=search].focus {
    background-color: #ffffff;
    border-right-width: 0; }
    input[type=search]:focus + button, input[type=search]:active + button, input[type=search].focus + button {
      border-color: #6d6d6d;
      background-color: #5F7B27;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s, -webkit-box-shadow 0.8s background-color 0.6s; }
      input[type=search]:focus + button:before, input[type=search]:active + button:before, input[type=search].focus + button:before {
        color: #ffffff; }
  input[type=search]::-webkit-input-placeholder {
    height: -webkit-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  input[type=search]::-moz-placeholder {
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  input[type=search]::placeholder {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  input[type=search]:not(:has(+ button)) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  input[type=search] + button {
    width: 70px;
    position: relative;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #c8c8c8;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    input[type=search] + button:hover {
      background-color: #5F7B27;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input[type=search] + button:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    input[type=search] + button:active {
      background-color: #5F7B27; }
      input[type=search] + button:active:before {
        color: #ffffff; }
    input[type=search] + button:before {
      content: "";
      width: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #93b64d;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.toggle-container {
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .toggle-container.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.ui-block-pane {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 1000; }
  .ui-block-pane:before {
    content: "";
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "Font Awesome Solid";
    font-size: 82px;
    color: rgba(149, 149, 149, 0.6); }

.sso-selection-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0; }
  @media screen and (min-width: 112.5em) {
    .sso-selection-container {
      padding: 20px 0; } }
  .sso-selection-container .sso-selection-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px; }
  .sso-selection-container .option-container {
    width: 100%; }
    .sso-selection-container .option-container + .sso-seperator {
      margin-top: 20px; }
  .sso-selection-container .sso-button {
    width: 70%;
    display: block;
    margin: auto;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 215/41;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    @media print, screen and (min-width: 40em) {
      .sso-selection-container .sso-button {
        width: 300px; } }
    .sso-selection-container .sso-button:hover {
      opacity: 0.4;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .sso-selection-container .sso-button.microsoft {
      background-image: url("/template/content/development/images/buttons/microsoft-sso-light.svg"); }
  .sso-selection-container .sso-seperator {
    color: var(--primary-colour-lightness-0);
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }

/*
----- Site Styles ----- 
Allowing CSS variables to override SASS configuration, used in instances where you need department specifc colouring.

*/
.required-prompt {
  width: 100%;
  display: block;
  padding: 0 10px;
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 400;
  font-style: italic; }
  @media screen and (min-width: 112.5em) {
    .required-prompt {
      padding: 0 20px;
      margin: 0 0 10px; } }
  .required-prompt + .cms-content-container {
    margin-top: 0;
    padding-top: 0; }

@media screen and (min-width: 112.5em) {
  .single-column-callback-container {
    max-width: 80%;
    margin: 0 auto 30px;
    padding-bottom: 30px; } }

.single-column-callback-container.content-border {
  padding: 20px;
  border: 2px solid #eeeeee; }

.single-column-callback-container .cms-content-container {
  text-align: center; }

.single-column-callback-container .buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

form.user-data-form {
  padding: 0 0 20px;
  background-color: #ffffff;
  border-radius: 0; }

form.single-column {
  margin-bottom: 30px;
  border: 1px solid #c8c8c8;
  border-radius: 0; }
  form.single-column .field {
    padding: 0 10px; }
    @media screen and (min-width: 112.5em) {
      form.single-column .field {
        padding: 0 20px; } }
    form.single-column .field:last-child .button-container {
      margin: 15px 0 0; }

form .cms-content-container {
  width: 100%;
  padding: 5px 10px;
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    form .cms-content-container {
      text-align: center; } }
  @media screen and (min-width: 112.5em) {
    form .cms-content-container {
      margin: auto;
      padding: 10px 205px;
      text-align: center; } }

form fieldset {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 30px;
  padding: 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    form fieldset {
      padding: 0 0 20px; } }
  form fieldset:first-of-type h2 {
    border-radius: 0 0 0 0; }
  form fieldset h3, form fieldset div > legend {
    max-width: 100%;
    width: 100%;
    margin: 25px auto 20px;
    font-style: italic;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    position: relative;
    color: #5F7B27;
    padding-bottom: 15px;
    position: relative;
    background-color: transparent; }
    form fieldset h3:before, form fieldset div > legend:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        form fieldset h3:before, form fieldset div > legend:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
    @media screen and (min-width: 112.5em) {
      form fieldset h3, form fieldset div > legend {
        max-width: 640px; } }
  form fieldset h2, form fieldset legend {
    width: 100%;
    display: block;
    padding: 15px 0;
    margin: 0 0 10px;
    color: #5F7B27;
    background-color: #f4f6ee;
    font-weight: 600;
    font-size: 1.125rem;
    text-align: center;
    text-transform: none; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  form fieldset ul {
    margin: 0 auto;
    padding: 0;
    list-style: none; }
  form fieldset > .form-error {
    margin: auto; }
  form fieldset .sub-group-name {
    width: 100%;
    display: block;
    margin: 0;
    padding: 15px 0;
    background-color: #eeeeee;
    color: #000000;
    text-align: center; }
    form fieldset .sub-group-name + .required-prompt {
      margin-top: 10px; }
  @media screen and (min-width: 112.5em) {
    form fieldset .error-block {
      margin: 0 auto 10px; } }

@media screen and (min-width: 112.5em) {
  form .forgotten-password-link {
    max-width: 570px;
    width: 100%;
    margin-right: auto; } }

.column-content-container {
  margin: 10px 0;
  background-color: #ffffff;
  border: 1px solid #c8c8c8;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-radius: 0; }
  @media screen and (min-width: 112.5em) {
    .column-content-container {
      margin: 0; } }
  .column-content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-color: transparent;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
  .column-content-container fieldset {
    margin: 0; }
  .column-content-container .fieldset-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px;
    background-color: #f4f6ee;
    border-radius: 0 0 0 0; }
    @media screen and (min-width: 112.5em) {
      .column-content-container .fieldset-banner-container {
        padding: 20px 10px; } }
    .column-content-container .fieldset-banner-container .fieldset-banner {
      width: 120px; }
    .column-content-container .fieldset-banner-container + h2 {
      border-radius: 0; }
  .column-content-container .field {
    padding: 0 10px; }
    @media screen and (min-width: 112.5em) {
      .column-content-container .field {
        padding: 0; } }
    @media screen and (min-width: 112.5em) {
      .column-content-container .field label {
        margin-left: 50px; } }
  .column-content-container .heading-container h2 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .column-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 15px 7.5px; }
    @media print, screen and (min-width: 40em) {
      .column-content-container .cms-content-container {
        padding: 0 85px; } }
  .column-content-container .page-buttons-container {
    padding: 0 10px; }
    @media screen and (min-width: 112.5em) {
      .column-content-container .page-buttons-container {
        padding: 0; } }

.captcha-container {
  position: absolute;
  z-index: 2; }
  .captcha-container.checkbox {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
  .captcha-container .grecaptcha-badge {
    bottom: 60px !important; }

.popup-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block; }

.confirmation-prompt-container .content-container {
  max-width: 1150px;
  width: 100%;
  position: relative;
  padding: 26.66667px;
  background-color: #ffffff;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  @media screen and (min-width: 112.5em) {
    .confirmation-prompt-container .content-container {
      padding: 80px; } }
  .confirmation-prompt-container .content-container .content {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 auto 50px;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-top: 30px; }
    .confirmation-prompt-container .content-container .content:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 112.5em) {
      .confirmation-prompt-container .content-container .content {
        gap: 0 15px; } }
    .confirmation-prompt-container .content-container .content:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .confirmation-prompt-container .content-container .content.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .confirmation-prompt-container .content-container .content.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content.preset-2 {
          padding: 15px 65px; } }
    .confirmation-prompt-container .content-container .content.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content.preset-3 {
          padding: 15px 0; } }
    .confirmation-prompt-container .content-container .content.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.success:has(.content-container):before {
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success h1, .confirmation-prompt-container .content-container .content.success h2, .confirmation-prompt-container .content-container .content.success h3, .confirmation-prompt-container .content-container .content.success h4, .confirmation-prompt-container .content-container .content.success h5, .confirmation-prompt-container .content-container .content.success h6, .confirmation-prompt-container .content-container .content.success p, .confirmation-prompt-container .content-container .content.success a {
        color: #12811f; }
    .confirmation-prompt-container .content-container .content.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.warning:has(.content-container):before {
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning h1, .confirmation-prompt-container .content-container .content.warning h2, .confirmation-prompt-container .content-container .content.warning h3, .confirmation-prompt-container .content-container .content.warning h4, .confirmation-prompt-container .content-container .content.warning h5, .confirmation-prompt-container .content-container .content.warning h6, .confirmation-prompt-container .content-container .content.warning p, .confirmation-prompt-container .content-container .content.warning a {
        color: #ff5e05; }
    .confirmation-prompt-container .content-container .content.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.alert:has(.content-container):before {
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert h1, .confirmation-prompt-container .content-container .content.alert h2, .confirmation-prompt-container .content-container .content.alert h3, .confirmation-prompt-container .content-container .content.alert h4, .confirmation-prompt-container .content-container .content.alert h5, .confirmation-prompt-container .content-container .content.alert h6, .confirmation-prompt-container .content-container .content.alert p, .confirmation-prompt-container .content-container .content.alert a {
        color: #b20c0c; }
    .confirmation-prompt-container .content-container .content.disabled p {
      color: #959595;
      font-weight: 600; }
    .confirmation-prompt-container .content-container .content.information {
      background-color: #ededed;
      border: 1px solid #000000; }
      .confirmation-prompt-container .content-container .content.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.information:has(.content-container):before {
        color: #000000; }
      .confirmation-prompt-container .content-container .content.information p {
        color: #000000;
        font-weight: 600; }
    .confirmation-prompt-container .content-container .content.icon-non-returnable {
      --font-family: fontello; }
      .confirmation-prompt-container .content-container .content.icon-non-returnable:before {
        content: ""; }
    .confirmation-prompt-container .content-container .content .user-friendly-prefix {
      margin-right: 5px; }
    .confirmation-prompt-container .content-container .content > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .confirmation-prompt-container .content-container .content > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 112.49875em) {
          .confirmation-prompt-container .content-container .content > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .confirmation-prompt-container .content-container .content .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content .content-container {
          margin: 0; } }
    .confirmation-prompt-container .content-container .content p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .confirmation-prompt-container .content-container .content p img[style*="float:left"], .confirmation-prompt-container .content-container .content p img[style*="float: left"], .confirmation-prompt-container .content-container .content p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .confirmation-prompt-container .content-container .content p img[style*="float:right"], .confirmation-prompt-container .content-container .content p img[style*="float: right"], .confirmation-prompt-container .content-container .content p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .confirmation-prompt-container .content-container .content p img {
        margin: .2em 0; }
      .confirmation-prompt-container .content-container .content p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .confirmation-prompt-container .content-container .content p:not(:empty) + table, .confirmation-prompt-container .content-container .content p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .confirmation-prompt-container .content-container .content table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead th {
          font-weight: 700; }
      .confirmation-prompt-container .content-container .content table.responsive-table {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .content table.responsive-table {
            display: table; } }
        .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 112.5em) {
            .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 112.5em) {
            .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .confirmation-prompt-container .content-container .content table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content table td {
          padding: 10px; } }
      .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .confirmation-prompt-container .content-container .content table tbody {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody th {
          background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .content table tbody tr {
            display: table-row; } }
      .confirmation-prompt-container .content-container .content table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 112.49875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 112.49875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .confirmation-prompt-container .content-container .content table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .confirmation-prompt-container .content-container .content table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .confirmation-prompt-container .content-container .content blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .confirmation-prompt-container .content-container .content blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .confirmation-prompt-container .content-container .content blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .confirmation-prompt-container .content-container .content blockquote:has(img) {
        text-align: left; }
      .confirmation-prompt-container .content-container .content blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .content blockquote {
          padding: 50px 60px; } }
      .confirmation-prompt-container .content-container .content blockquote + blockquote {
        margin-top: 15px; }
      .confirmation-prompt-container .content-container .content blockquote:before, .confirmation-prompt-container .content-container .content blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .confirmation-prompt-container .content-container .content blockquote:before {
        top: 0;
        left: 0; }
      .confirmation-prompt-container .content-container .content blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .confirmation-prompt-container .content-container .content blockquote img {
        float: left; }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .content blockquote img {
            text-align: left; } }
    .confirmation-prompt-container .content-container .content a[href^="tel:"], .confirmation-prompt-container .content-container .content a[href^="mailto:"] {
      font-weight: 700; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"]:hover, .confirmation-prompt-container .content-container .content a[href^="mailto:"]:hover {
        text-decoration: none; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before, .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .confirmation-prompt-container .content-container .content p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .confirmation-prompt-container .content-container .content p a:has([style*="float"]) {
      display: inline; }
    .confirmation-prompt-container .content-container .content a {
      text-decoration: underline; }
    .confirmation-prompt-container .content-container .content > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 112.49875em) {
        .confirmation-prompt-container .content-container .content > p:first-of-type {
          padding-top: 24px; } }
    @media screen and (min-width: 112.5em) {
      .confirmation-prompt-container .content-container .content {
        margin-top: 0; } }
    .confirmation-prompt-container .content-container .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .confirmation-prompt-container .content-container .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 19px; }
        @media print, screen and (max-width: 112.49875em) {
          .confirmation-prompt-container .content-container .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .confirmation-prompt-container .content-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (min-width: 112.5em) {
      .confirmation-prompt-container .content-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button {
      margin: 0 45px 20px; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #5F7B27;
        background-color: #dffbe2;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover {
            color: #ffffff;
            background-color: #12811f;
            border-color: #12811f;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.active {
          background-color: #f5f7ed;
          border-color: #f5f7ed;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #b20c0c;
        background-color: #fde1e1;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 112.5em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover {
            color: #ffffff;
            background-color: #b20c0c;
            border-color: #b20c0c;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.active {
          color: #ffffff;
          background-color: #f5f7ed;
          border-color: #f5f7ed;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning[disabled], .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:focus-visible, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
      --component-specifc-step-height: 15px;
      width: 230px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin: var(--common-button-small-margin, 0 22.5px 10px);
      padding: var(--common-button-padding, 20px 10px);
      color: #5F7B27;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      border-color: #dadada;
      text-decoration: none;
      line-height: 1;
      border-radius: 0 !important;
      overflow: hidden;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      @media screen and (min-width: 112.5em) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
          width: 230px;
          margin: var(--common-button-large-margin, 0 45px 20px); } }
      @media (hover: hover) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover {
          color: #ffffff;
          background-color: #dadada;
          border-color: #000000;
          text-decoration: none;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover .graduated-colour-edge .step {
            background-color: #ffffff;
            -webkit-transition: background-color 0.6s;
            transition: background-color 0.6s; } }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.active {
        color: #ffffff;
        background-color: #5F7B27;
        border-color: #5F7B27;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button[disabled] {
        color: #6d6d6d;
        background-color: #ffffff;
        border-color: #6d6d6d;
        cursor: not-allowed; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled:hover {
        border-color: #6d6d6d; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:focus-visible {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button .graduated-colour-edge .step {
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }

.confirmation-prompt-container .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .confirmation-prompt-container .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:hover:before {
    color: #5F7B27;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:active:before {
    color: #DB651B;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.confirmation-container {
  width: 100%;
  display: block;
  padding: 15px 10px;
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .confirmation-container {
      padding: 15px 30px; } }
  .confirmation-container.margin-bottom {
    margin-bottom: 50px; }
  .confirmation-container.success {
    background-color: #dffbe2;
    color: #12811f; }
  .confirmation-container.warning {
    background-color: #ffefe6;
    color: #ff5e05; }
  .confirmation-container.alert {
    background-color: #fef0f0;
    color: #b20c0c; }

/*
----- Header -----
Handles the following: 
- Upper + lower navigation bars.
- Site logo
- Header sticky functionality:
  - Full
  - Minified
  - No Top Bar
  - Menu
- VAT Switcher
- Breadcrumbs
- Basket Summary 
- Callouts in the header to modify callout see axis-notification.scss
- Predictive search positioning to modify search style then go to axis-autocomplete.scss
- USP bar which is essentially a module.
- Welcome Text
- Tag lines
- TODO: I am currently in the process of trying to untangle the mega menu css + make it more generic and rehome it inside of axis-menus.scss
*/
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0; }
  @media screen and (min-width: 112.5em) {
    header {
      margin: 0; } }
  header [data-axis-sticky] {
    z-index: 2000; }
    header [data-axis-sticky].is-stuck .header-container {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
      @media print, screen and (max-width: 112.49875em) {
        header [data-axis-sticky].is-stuck .header-container {
          position: fixed;
          top: 0;
          left: 0;
          z-index: 2000; }
          header [data-axis-sticky].is-stuck .header-container:before {
            width: 0;
            -webkit-transition: width 1.5s ease-out;
            transition: width 1.5s ease-out; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="NoTopBar"] .header-top-bar-container {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-top-bar-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content {
        min-height: auto; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-container {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left .menu > li > a {
          margin-top: 0;
          margin-bottom: 0;
          padding: 0;
          -webkit-transition: margin-top 0.6s, margin-bottom 0.8s;
          transition: margin-top 0.6s, margin-bottom 0.8s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-center {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container {
        height: 45px;
        margin: 5px 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-full-size {
          display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-minified {
          width: 450px;
          display: block;
          padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-right {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-account-button {
        padding: 3.5px 7.75px;
        -webkit-transition: padding 0.6s;
        transition: padding 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary:after {
            height: 45px;
            padding: 4px 23px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .bubble-container {
          top: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container {
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .header-predictive-search .callbackContainer {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search + button {
            height: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-tag-line-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container {
        display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container + #action-bar-container {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container > div {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container a {
          min-height: unset; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a {
        padding-top: 0;
        padding-bottom: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a:before {
          font-size: 11.66667px;
          padding: 0 0;
          -webkit-transition: padding 0.6s, font-size 0.6s;
          transition: padding 0.6s, font-size 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li:not(.home-button) > a {
        padding-top: 15px;
        padding-bottom: 15px; }
      @media screen and (min-width: 112.5em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li > a.has-link-image .link-image {
          width: 22.5px;
          height: 22.5px;
          -webkit-transition: width 0.6s, height 0.6s;
          transition: width 0.6s, height 0.6s; } }
      @media screen and (min-width: 112.5em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-top-bar-container, header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-content-container {
          display: none; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-full-size {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-minified {
        width: 450px;
        display: block; }

header .header-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #ffffff; }
  @media print, screen and (max-width: 112.49875em) {
    header .header-container:before {
      content: '';
      width: 99%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #5F7B27;
      -webkit-transition: width 0.8s;
      transition: width 0.8s; } }
  @media screen and (min-width: 112.5em) {
    header .header-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      border-bottom: 1px solid #dadada; } }

.header-mobile-toggle-bar {
  max-width: 70%;
  margin-left: auto; }
  @media print, screen and (max-width: 112.49875em) {
    .header-mobile-toggle-bar {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  @media print, screen and (min-width: 40em) {
    .header-mobile-toggle-bar {
      max-width: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media screen and (min-width: 112.5em) {
    .header-mobile-toggle-bar {
      display: none; } }
  .header-mobile-toggle-bar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0; }
    .header-mobile-toggle-bar ul li {
      position: relative; }
  .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2.5px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
        padding: 0 30px; } }
    .header-mobile-toggle-bar a:before, .header-mobile-toggle-bar button:before {
      color: #5F7B27;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-mobile-toggle-bar a:hover, .header-mobile-toggle-bar button:hover {
      text-decoration: none; }
      .header-mobile-toggle-bar a:hover:before, .header-mobile-toggle-bar button:hover:before {
        color: #DB651B;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 22px; }
    @media screen and (min-width: 112.5em) {
      .header-mobile-toggle-bar a[href^="tel:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar a[href^="mailto:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 112.5em) {
      .header-mobile-toggle-bar a[href^="mailto:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-search:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 112.5em) {
      .header-mobile-toggle-bar .header-toggle-search:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 112.5em) {
      .header-mobile-toggle-bar .header-toggle-basket:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket.warning:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-basket.alert:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-mega-menu:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 25px; }
    @media screen and (min-width: 112.5em) {
      .header-mobile-toggle-bar .header-toggle-mega-menu:before {
        font-size: 30px; } }
  .header-mobile-toggle-bar .header-toggle-account {
    position: relative; }
    .header-mobile-toggle-bar .header-toggle-account:before {
      content: "";
      font-size: 20px;
      font-family: "Font Awesome Solid"; }

.header-mobile-menu {
  max-height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  z-index: 2000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media print, screen and (max-width: 112.49875em) {
    .header-mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 112.5em) {
    .header-mobile-menu {
      max-height: none;
      background-color: transparent;
      z-index: auto;
      overflow: visible; } }
  .header-mobile-menu.animate {
    max-height: 80vh;
    padding-bottom: 50px;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #5F7B27;
    border-width: 0 0 6px 0;
    border-style: solid;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .header-mobile-menu.active {
    overflow-y: auto; }
  .header-mobile-menu .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 25px 10px; }
    @media print, screen and (max-width: 112.49875em) {
      .header-mobile-menu .content-container ul.menu > li > a {
        padding: 7.5px 5px 7.5px 16px;
        text-transform: none; } }
    @media screen and (min-width: 112.5em) {
      .header-mobile-menu .content-container {
        padding: 0; } }

.header-top-bar-container {
  width: 100%;
  display: none; }
  @media screen and (min-width: 112.5em) {
    .header-top-bar-container {
      display: block; } }

.header-content-container {
  max-width: 34%;
  position: relative;
  padding: 0; }
  @media print, screen and (max-width: 112.49875em) {
    .header-content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media print, screen and (min-width: 40em) {
    .header-content-container {
      max-width: none;
      padding: 0 10px; } }
  @media screen and (min-width: 112.5em) {
    .header-content-container {
      max-width: 1800px;
      width: 100%;
      display: grid;
      display: -ms-grid;
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
      margin: auto;
      padding: 10px 0; } }
  @media screen and (min-width: 100em) {
    .header-content-container {
      max-width: 1800px; } }
  @media screen and (min-width: 120em) {
    .header-content-container {
      max-width: 1800px; } }

@media print, screen and (max-width: 112.49875em) {
  .header-content-left > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-center > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-right > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile) {
    display: none; } }

@media screen and (min-width: 112.5em) {
  .header-content-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-row: 1 / span 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; } }

.header-content-left .menu, .header-content-left .dropdown.menu {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0; }
  .header-content-left .menu > li, .header-content-left .dropdown.menu > li {
    padding: 0; }
    .header-content-left .menu > li > a, .header-content-left .dropdown.menu > li > a {
      padding: 15px 10px; }

.header-content-left .menu-container ul > li > a, .header-content-left .mega-menu-container > ul > li > a {
  color: #000000;
  font-weight: 400; }

.header-content-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 112.5em) {
    .header-content-center {
      padding: 0; } }
  @media screen and (min-width: 112.5em) {
    .header-content-center .menu-container {
      margin: 0; } }
  .header-content-center .menu > li > a, .header-content-center .dropdown.menu > li > a {
    padding: 0; }

.header-content-right {
  position: relative;
  left: inherit; }
  @media screen and (min-width: 112.5em) {
    .header-content-right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -ms-grid-row: 2;
      -ms-grid-column: 3; } }
  .header-content-right .menu-container > ul > li > a {
    padding: 15px 10px;
    color: #000000;
    font-weight: 400; }

.logoContainer, .logo-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    .logoContainer, .logo-container {
      padding: 0 10px 0 0; } }
  .logoContainer a, .logo-container a {
    max-width: 50vw;
    display: block;
    margin: 5px 0; }
    @media screen and (min-width: 112.5em) {
      .logoContainer a, .logo-container a {
        margin: 0; } }
  .logoContainer img, .logo-container img {
    width: 150px; }
    @media screen and (min-width: 112.5em) {
      .logoContainer img, .logo-container img {
        width: 400px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
    display: none; }
    @media screen and (min-width: 112.5em) {
      .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
        display: none; } }

.header-tag-line-container {
  display: none; }
  .header-tag-line-container p {
    margin: 0;
    padding: 8px 0;
    color: #5F7B27;
    font-weight: 400;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: normal;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 112.5em) {
      .header-tag-line-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 112.5em) {
    .header-tag-line-container {
      width: 100%;
      height: 50px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-tagline {
  display: none;
  margin: 0;
  padding: 8px 0;
  color: #5F7B27;
  font-weight: 400;
  font-size: 1rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap; }
  @media screen and (min-width: 112.5em) {
    .header-tagline {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-search-container {
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    .header-search-container {
      -ms-grid-column: 2;
      padding: 0; } }
  @media print, screen and (max-width: 112.49875em) {
    .header-search-container.active .header-predictive-search .callbackContainer {
      width: 100%;
      position: relative; } }
  .header-search-container .header-predictive-search {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .header-search-container .header-predictive-search {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 112.5em) {
        .header-search-container .header-predictive-search .callbackContainer {
          width: 100%;
          height: 50px;
          margin: auto; } }
    .header-search-container .header-predictive-search fieldset {
      margin: 0;
      padding: 0; }
  .header-search-container input[type=search] {
    width: 100%;
    height: 50px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .header-search-container input[type=search]::-webkit-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search] + button {
      height: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
  .header-search-container #unibox-suggest-box {
    max-width: initial !important;
    width: calc(100% - 70px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media print, screen and (max-width: 112.49875em) {
      .header-search-container #unibox-suggest-box {
        position: relative !important;
        top: 0 !important; } }
    .header-search-container #unibox-suggest-box a {
      display: block;
      padding: 0 0 0 25px;
      color: #484848; }
    .header-search-container #unibox-suggest-box .unibox-selectable {
      padding-left: 0; }
      .header-search-container #unibox-suggest-box .unibox-selectable:hover {
        background-color: #eeeeee; }
        .header-search-container #unibox-suggest-box .unibox-selectable:hover a {
          color: #5F7B27;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
          .header-search-container #unibox-suggest-box .unibox-selectable:hover a span, .header-search-container #unibox-suggest-box .unibox-selectable:hover a .unibox-highlight {
            color: #DB651B;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
      .header-search-container #unibox-suggest-box .unibox-selectable:active a {
        color: #484848; }
      .header-search-container #unibox-suggest-box .unibox-selectable span, .header-search-container #unibox-suggest-box .unibox-selectable .unibox-highlight {
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .header-search-container .ac-results {
      width: 700px;
      margin-left: -40px; } }
  .header-search-container .results-content-container {
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      .header-search-container .results-content-container {
        padding: 50px 40px 0 40px; } }

.header-predictive-search .ac-results {
  position: absolute;
  top: 0; }
  @media print, screen and (max-width: 112.49875em) {
    .header-predictive-search .ac-results {
      position: relative !important;
      margin-top: 15px; } }
  .header-predictive-search .ac-results li {
    position: relative; }
    .header-predictive-search .ac-results li:not(:first-child):hover a.ac_results_entry:before {
      content: '\f0de';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -5px;
      margin: auto;
      display: inline-block;
      font-family: "Font Awesome Solid";
      color: #DB651B;
      -webkit-transform: rotate(92deg);
              transform: rotate(92deg); }
    .header-predictive-search .ac-results li .no-results {
      display: block;
      margin-left: 15px;
      padding: 5px 0; }

.header-predictive-search .heading2 {
  margin-bottom: 10px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-style: italic;
  color: #5F7B27; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #5F7B27;
  color: #ffffff; }

.header-predictive-search .ac_results_entry {
  display: block;
  padding: 5px 0;
  margin-left: 15px;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #000000; }

.header-call-to-action-container {
  display: none; }
  @media screen and (min-width: 112.5em) {
    .header-call-to-action-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  .header-call-to-action-container .not-logged-in-container {
    height: 50px; }
    @media screen and (min-width: 112.5em) {
      .header-call-to-action-container .not-logged-in-container {
        max-width: 255px;
        width: 100%;
        margin-left: auto; } }
    @media screen and (min-width: 112.5em) {
      .header-call-to-action-container .not-logged-in-container a {
        max-height: none;
        min-height: 50px; } }

#action-bar-container {
  height: 50px; }

@media screen and (min-width: 112.5em) {
  .header-basket-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: right; } }

.header-basket-container.active .summary-recently-added {
  max-height: 80vh;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }
  @media screen and (min-width: 112.5em) {
    .header-basket-container.active .summary-recently-added {
      max-height: 500px; } }

.header-basket-container.warning .basket-desktop-summary {
  background-color: #ffefe6; }
  .header-basket-container.warning .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #DB651B;
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.warning .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.warning .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #ff5e05; }

.header-basket-container.warning .mobile-summary-message-container, .header-basket-container.warning .text-notification-container {
  background-color: #ffefe6;
  color: #DB651B;
  border: 1px solid #DB651B; }

.header-basket-container.warning .basket-details-info {
  font-weight: 700;
  color: #DB651B; }

.header-basket-container.alert .basket-desktop-summary {
  background-color: #fde1e1; }
  .header-basket-container.alert .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #b20c0c;
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.alert .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.alert .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #b20c0c; }

.header-basket-container.alert .mobile-summary-message-container, .header-basket-container.alert .text-notification-container {
  background-color: #fde1e1;
  color: #b20c0c;
  border: 1px solid #b20c0c; }

.header-basket-container.alert .basket-details-info {
  font-weight: 700;
  color: #b20c0c; }

.header-basket-container .summary-recently-added {
  width: 100%;
  max-height: 0px;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 5000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 112.5em) {
    .header-basket-container .summary-recently-added {
      width: 400px;
      left: auto; } }
  .header-basket-container .summary-recently-added .content-container {
    border-radius: 0 0 0 0;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #5F7B27;
    border-width: 0 0 6px 0;
    border-style: solid; }
  .header-basket-container .summary-recently-added a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 5px; }
    .header-basket-container .summary-recently-added a:hover .basket-icon:before {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #5F7B27; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #5F7B27; }
    .header-basket-container .summary-recently-added a .basket-icon {
      position: relative; }
      .header-basket-container .summary-recently-added a .basket-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 26px;
        color: #93b64d; }
    .header-basket-container .summary-recently-added a .update-message {
      padding: 10px 60px 0;
      font-size: 0.9375rem;
      font-weight: 600;
      text-align: center; }

@media screen and (min-width: 112.5em) {
  .header-basket-container [data-basket-summary-notifications] {
    width: 300px;
    position: absolute;
    top: 100%;
    z-index: 10; } }

.header-basket-container .basket-desktop-summary {
  width: 255px;
  height: 50px;
  position: relative;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #f4f6ee;
  border-radius: 0;
  font-size: 0.875rem;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .header-basket-container .basket-desktop-summary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .header-basket-container .basket-desktop-summary:hover {
    color: #ffffff;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .header-basket-container .basket-desktop-summary:hover:after {
      width: 100%;
      color: #ffffff;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s;
      z-index: 2; }
    .header-basket-container .basket-desktop-summary:hover .basket-details-info {
      color: #ffffff;
      font-weight: 600; }
  .header-basket-container .basket-desktop-summary:active .basket-details-info {
    color: #DB651B; }
  .header-basket-container .basket-desktop-summary:active:after {
    color: #ffffff; }
  .header-basket-container .basket-desktop-summary:after {
    content: "";
    width: 72px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 23px;
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #ffffff;
    border-width: 0;
    border-style: solid;
    border-color: #ffffff;
    background-color: #93b64d;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.header-basket-container .basket-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  z-index: 10; }
  @media screen and (min-width: 112.5em) {
    .header-basket-container .basket-details {
      width: 185px; } }
  .header-basket-container .basket-details:before {
    content: '';
    width: 1.5px;
    height: 0;
    position: absolute;
    top: 0;
    right: 70px;
    bottom: 0;
    margin: auto;
    display: block;
    background-color: #ffffff;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }

.header-basket-container .basket-details-info {
  color: #000000;
  font-weight: 400; }
  .header-basket-container .basket-details-info.basket-details-quantity span {
    margin-right: 5px; }
  .header-basket-container .basket-details-info.basket-details-price {
    margin-left: 20px; }

.header-basket-container .basket-mobile-summary {
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 112.5em) {
    .header-basket-container .basket-mobile-summary {
      display: none; } }
  .header-basket-container .basket-mobile-summary .basket-icon {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-basket-container .basket-mobile-summary .basket-icon:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 40px;
      line-height: 1;
      color: #5F7B27; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #5F7B27; }
  .header-basket-container .basket-mobile-summary .summary-quantity {
    margin: 20px 0 25px;
    padding: 0;
    font-size: 1.0625rem;
    text-align: center; }
    .header-basket-container .basket-mobile-summary .summary-quantity span {
      margin-right: 5px;
      color: #5F7B27;
      font-weight: 700; }
  .header-basket-container .basket-mobile-summary .action-button {
    margin: 0; }
  .header-basket-container .basket-mobile-summary .mobile-summary-message-container, .header-basket-container .basket-mobile-summary .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.0625rem;
    font-weight: 700;
    text-align: center; }

.summary:hover .textContainer:before {
  content: '';
  height: 85%;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.summary:hover .textContainer #basketQuantity, .summary:hover .textContainer #basketPreviewPrice {
  color: #ffffff;
  font-weight: 600; }

.summary:after {
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }

.summary #basketPreviewPrice {
  margin-left: 20px; }

#basketSummaryContainer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  @media screen and (min-width: 112.5em) {
    #basketSummaryContainer {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: right; } }
  #basketSummaryContainer.warning .summary {
    background-color: #ffefe6; }
    #basketSummaryContainer.warning .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #DB651B; }
  #basketSummaryContainer.warning #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #ff5e05; }
  #basketSummaryContainer.warning .mobile-summary-message-container, #basketSummaryContainer.warning .text-notification-container {
    background-color: #ffefe6;
    color: #DB651B;
    border: 1px solid #DB651B; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #DB651B; }
    #basketSummaryContainer.warning .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #DB651B;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.warning .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.warning .summary-message-container .content-container {
      background-color: #ffefe6; }
      #basketSummaryContainer.warning .summary-message-container .content-container:before {
        content: "";
        color: #DB651B; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #DB651B; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #DB651B; }
  #basketSummaryContainer.alert .summary {
    background-color: #fde1e1; }
    #basketSummaryContainer.alert .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #b20c0c; }
  #basketSummaryContainer.alert #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #b20c0c; }
  #basketSummaryContainer.alert .mobile-summary-message-container, #basketSummaryContainer.alert .text-notification-container {
    background-color: #fde1e1;
    color: #b20c0c;
    border: 1px solid #b20c0c; }
  #basketSummaryContainer.alert .summary-message-container {
    border-color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.alert .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.alert .summary-message-container .content-container {
      background-color: #fde1e1; }
      #basketSummaryContainer.alert .summary-message-container .content-container:before {
        content: "";
        color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container p {
      color: #b20c0c; }
  #basketSummaryContainer.alert #basketQuantity, #basketSummaryContainer.alert #basketPreviewPrice {
    color: #b20c0c; }
  @media print, screen and (max-width: 112.49875em) {
    #basketSummaryContainer .not-logged-in-container {
      display: none; } }
  #basketSummaryContainer .mobile-summary-message-container, #basketSummaryContainer .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.0625rem;
    font-weight: 700; }
  @media print, screen and (max-width: 112.49875em) {
    #basketSummaryContainer.active {
      display: block;
      max-height: 370px;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0; }
      #basketSummaryContainer.active #basketPreview {
        max-height: 570px;
        padding: 25px 10px 60px;
        padding-bottom: 50px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-bottom-color: #5F7B27;
        border-width: 0 0 6px 0;
        border-style: solid;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        opacity: 1;
        z-index: 5000; } }
  @media screen and (min-width: 112.5em) {
    #basketSummaryContainer.active #basketPreview {
      max-height: 460px;
      padding: 20px 30px 30px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #5F7B27;
      border-width: 0 0 6px 0;
      border-style: solid;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      opacity: 1;
      z-index: 5000; } }
  #basketSummaryContainer #recentlyAdded {
    display: none; }
    #basketSummaryContainer #recentlyAdded h3 {
      margin-top: 30px;
      padding: 10px 60px 0;
      color: #000000;
      font-weight: 600;
      font-size: 0.9375rem;
      text-align: center; }
  #basketSummaryContainer.update.active #basketPreview {
    display: none; }
  @media screen and (min-width: 112.5em) {
    #basketSummaryContainer .not-logged-in-container {
      width: 255px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
      #basketSummaryContainer .not-logged-in-container a {
        max-height: 50px; } }
  #basketSummaryContainer .bubble-container {
    display: none; }
    @media screen and (min-width: 112.5em) {
      #basketSummaryContainer .bubble-container {
        width: 255px;
        max-height: 0;
        position: absolute;
        top: 100px;
        right: 0;
        display: inherit;
        overflow: hidden;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; } }
    #basketSummaryContainer .bubble-container.active {
      max-height: 300px;
      height: auto;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  #basketSummaryContainer .summary-message-container {
    position: relative;
    display: inherit;
    margin-top: 10px;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #5F7B27; }
    #basketSummaryContainer .summary-message-container .content-container {
      padding: 14px 20px; }
      #basketSummaryContainer .summary-message-container .content-container:before {
        content: "";
        display: block;
        margin-bottom: 5px;
        font-size: 20px;
        font-family: "Font Awesome Solid";
        text-align: center;
        color: #5F7B27; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 700;
      color: #5F7B27; }

.header-welcome-text-container {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 112.5em) {
    .header-welcome-text-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px; } }
  .header-welcome-text-container .text-container {
    margin: 0;
    text-align: right; }
    .header-welcome-text-container .text-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      color: #000000; }
  .header-welcome-text-container + #action-bar-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .header-welcome-text-container + .header-call-to-action-container {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }

.header-menus-outer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff; }
  @media screen and (min-width: 112.5em) {
    .header-menus-outer-container {
      max-height: none;
      padding: 0;
      background-color: #7a8e52;
      border-radius: 0;
      visibility: visible;
      overflow: visible; } }
  @media screen and (min-width: 112.5em) {
    .header-menus-outer-container.active {
      position: relative;
      z-index: 1; } }
  .header-menus-outer-container .content-container > ul > li > a {
    font-size: 1.25rem;
    font-weight: 700; }
  .header-menus-outer-container .content-container > ul > li > ul > li > a {
    font-size: 1.0625rem;
    font-weight: 700; }
  .header-menus-outer-container .content-container > ul > li > ul > li ul > > li a {
    font-size: 1.0625rem;
    font-weight: 400; }

.header-menus-inner-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 112.5em) {
    .header-menus-inner-container {
      max-width: 1800px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: auto; } }
  .header-menus-inner-container ul.accordion-menu > li:hover {
    background-color: #5F7B27; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #5F7B27;
    font-weight: 700;
    font-size: 1.25rem;
    text-align: left;
    text-transform: none; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 112.49875em) {
      .header-menus-inner-container ul.accordion-menu > li > ul > li:not(.is-accordion-submenu-parent) > a {
        padding-left: 36px; } }
    .header-menus-inner-container ul.accordion-menu > li > ul > li.is-active.is-dropdown-submenu-parent > a:after, .header-menus-inner-container ul.accordion-menu > li > ul > li.is-dropdown-submenu-parent > a:after {
      content: ''; }
    .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a {
      color: #000000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5px 5px 5px 16px;
      font-size: 1.0625rem;
      font-weight: 400; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover:before {
        color: #DB651B; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active:before {
        color: #5F7B27; }
  .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
        padding: 0; } }
    @media screen and (min-width: 112.5em) {
      .header-menus-inner-container ul.menu.mega-menu > li.home-button a, .header-menus-inner-container ul.menu.dropdown > li.home-button a {
        padding: 15px 15px; } }
    @media screen and (min-width: 112.5em) {
      .header-menus-inner-container ul.menu.mega-menu > li > a:after, .header-menus-inner-container ul.menu.dropdown > li > a:after {
        content: '';
        width: 1px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
        margin: auto 0;
        background-color: #ffffff;
        right: auto;
        left: 0; } }
    @media screen and (min-width: 112.5em) {
      .header-menus-inner-container ul.menu.mega-menu > li:last-child > a:before, .header-menus-inner-container ul.menu.dropdown > li:last-child > a:before {
        content: '';
        width: 1px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        display: block;
        margin: auto 0;
        background-color: #ffffff;
        right: 0;
        left: auto; } }
  @media screen and (min-width: 112.5em) {
    .header-menus-inner-container ul.menu.mega-menu .is-dropdown-submenu-parent, .header-menus-inner-container ul.menu.dropdown .is-dropdown-submenu-parent {
      position: static; } }

.header-menu-left-container {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .header-menu-left-container + .header-menu-right-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.header-menu-right-container, .header-menu-left-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 112.5em) {
  .header-menu-right-container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.header-toggle-bar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 12.5px; }
  @media screen and (min-width: 112.5em) {
    .header-toggle-bar-container {
      position: relative; } }
  @media print, screen and (max-width: 112.49875em) {
    .header-toggle-bar-container.toggle-bar-inactive-mobile {
      gap: 0; } }
  .header-toggle-bar-container .header-toggle-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-toggle-bar-container .header-toggle-container.align-items-parent {
      position: static; }
  .header-toggle-bar-container .toggle-button-container .toggle-button {
    min-height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    padding: 3.5px 7.75px;
    cursor: pointer;
    border-radius: 0; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:before {
      color: #5F7B27;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #93b64d; }
  .header-toggle-bar-container .toggle-button-container.search .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button .basket-item-count {
    position: absolute;
    top: 2px;
    left: 26px;
    padding: 2px 4.5px;
    display: block;
    background-color: #e5b701;
    color: #5F7B27;
    font-size: 0.6875rem;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #e5b701;
    -webkit-transition: color 0.8s, border-color 0.8s, 0.8s;
    transition: color 0.8s, border-color 0.8s, 0.8s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:hover .basket-item-count {
    background-color: #ffffff;
    border-color: #DB651B;
    color: #000000;
    -webkit-transition: color 0.6s, 0.6s, background-color 0.6s;
    transition: color 0.6s, 0.6s, background-color 0.6s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:active .basket-item-count {
    background-color: #5F7B27;
    color: #ffffff;
    border-color: #5F7B27; }
  @media screen and (min-width: 112.5em) {
    .header-toggle-bar-container .toggle-content-container.search {
      width: 0;
      position: absolute;
      overflow: hidden; } }
  @media screen and (min-width: 112.5em) {
    .header-toggle-bar-container .toggle-content-container.search.active {
      width: 490px;
      right: -12px;
      overflow: visible; } }
  .header-toggle-bar-container .toggle-content-container.account-menu {
    display: none; }
    @media screen and (min-width: 112.5em) {
      .header-toggle-bar-container .toggle-content-container.account-menu {
        width: 0;
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        display: block;
        overflow: hidden;
        background-color: #ffffff; } }
    @media screen and (min-width: 112.5em) {
      .header-toggle-bar-container .toggle-content-container.account-menu.active {
        width: 550px;
        right: 0;
        padding: 20px;
        overflow: visible; } }
    @media screen and (min-width: 112.5em) {
      .header-toggle-bar-container .toggle-content-container.account-menu .account-menu {
        margin: 0;
        padding: 0;
        list-style: none; } }
  @media screen and (min-width: 112.5em) {
    .header-toggle-bar-container .toggle-content-container.action-bar {
      width: 0;
      position: absolute;
      right: -16px;
      overflow: hidden; } }
  @media screen and (min-width: 112.5em) {
    .header-toggle-bar-container .toggle-content-container.action-bar.active {
      width: 250px;
      overflow: visible; }
      .header-toggle-bar-container .toggle-content-container.action-bar.active .basket-desktop-summary:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }

.header-account-button {
  min-height: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  padding: 3.5px 7.75px;
  color: #5F7B27;
  -webkit-transition: border-color 0.8s, background-color 0.8s, color 0.8s;
  transition: border-color 0.8s, background-color 0.8s, color 0.8s; }
  .header-account-button.logged-in {
    border: 1px solid #c8c8c8; }
  .header-account-button:hover {
    color: #dadada;
    border-color: #5F7B27;
    -webkit-transition: border-color 0.6s, background-color 0.6s, color 0.6s;
    transition: border-color 0.6s, background-color 0.6s, color 0.6s; }
    .header-account-button:hover:before {
      color: #DB651B;
      -webkit-transition: color 0.6s, background-color 0.6s;
      transition: color 0.6s, background-color 0.6s; }
  .header-account-button:active {
    color: #eeeeee;
    border-color: #5F7B27; }
    .header-account-button:active:before {
      color: #93b64d; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #5F7B27;
    border-radius: 0;
    -webkit-transition: color 0.8s, background-color 0.8s;
    transition: color 0.8s, background-color 0.8s; }

.account-menu a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #000000;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .account-menu a:hover {
    color: #5F7B27;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.usp-bar, .header-usp-bar {
  padding: 5px 0 7.5px; }
  @media screen and (min-width: 112.5em) {
    .usp-bar, .header-usp-bar {
      padding: 10px 0 0; } }

.usp-container {
  width: 100%;
  background-color: #eeeeee; }
  @media screen and (min-width: 112.5em) {
    .usp-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    .usp-container {
      padding: 0; } }
  .usp-container .usp-banner, .usp-container .collection-item {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
    @media print, screen and (min-width: 40em) {
      .usp-container .usp-banner, .usp-container .collection-item {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
    .usp-container .usp-banner a, .usp-container .usp-banner p, .usp-container .collection-item a, .usp-container .collection-item p {
      text-transform: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .usp-container .usp-banner a, .usp-container .usp-banner > p, .usp-container .collection-item a, .usp-container .collection-item > p {
      border-width: 0;
      border-color: #5F7B27;
      border-style: solid;
      border-radius: 0; }
    .usp-container .usp-banner p, .usp-container .collection-item p {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 15px 5px;
      text-align: center;
      color: #5F7B27;
      font-style: italic;
      font-size: 0.9375rem;
      font-weight: 600; }
    .usp-container .usp-banner img, .usp-container .collection-item img {
      max-height: 26px;
      margin-top: auto;
      margin-bottom: auto;
      margin-right: 12px;
      aspect-ratio: var(--media-aspect-ratio, auto); }
    .usp-container .usp-banner a, .usp-container .collection-item a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 15px 5px;
      -webkit-transition: opacity, background-color 0.8s;
      transition: opacity, background-color 0.8s; }
      .usp-container .usp-banner a:hover, .usp-container .collection-item a:hover {
        background-color: #d5d5d5;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s, background-color 0.6s;
        transition: opacity 0.6s, background-color 0.6s; }
      .usp-container .usp-banner a:active, .usp-container .collection-item a:active {
        background-color: #bbbbbb; }
      .usp-container .usp-banner a p, .usp-container .collection-item a p {
        padding: 0; }
    @media screen and (min-width: 112.5em) {
      .usp-container .usp-banner[aria-hidden=false], .usp-container .collection-item[aria-hidden=false] {
        padding: 0 0; }
        .usp-container .usp-banner[aria-hidden=false]:first-of-type, .usp-container .collection-item[aria-hidden=false]:first-of-type {
          padding-left: 0; }
        .usp-container .usp-banner[aria-hidden=false]:last-of-type, .usp-container .collection-item[aria-hidden=false]:last-of-type {
          padding-right: 0; } }
    @media screen and (min-width: 112.5em) {
      .usp-container .usp-banner[aria-hidden=false] + .collection-item, .usp-container .collection-item[aria-hidden=false] + .collection-item {
        position: relative;
        padding-left: 2px; }
        .usp-container .usp-banner[aria-hidden=false] + .collection-item:before, .usp-container .collection-item[aria-hidden=false] + .collection-item:before {
          content: '';
          width: 2px;
          height: 28px;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          background-color: #ffffff;
          z-index: 1; } }
  .usp-container .fas {
    margin-right: 10px; }

body:not(#home) .header-breadcrumbs-container {
  margin: 0; }
  body:not(#home) .header-breadcrumbs-container:not(:has(.breadcrumbs)) {
    padding: 7.5px; }

body:not(#home) .header-breadcrumb-vat-switcher-container:not(:has(.breadcrumbs)):not(:has(.header-toggle-switch-container)):not(:has(.vat-switcher-container)) {
  padding: 7.5px; }

.header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
  padding-top: 10px; }
  .header-usp-bar + #breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + #breadcrumb-vat-switcher-container:has(.header-toggle-switch-container), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.header-toggle-switch-container) {
    padding-top: 0; }
  @media screen and (min-width: 112.5em) {
    .header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
      padding-top: 8px; } }

#breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
  padding-top: 10px;
  padding-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    #breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
      padding-top: 8px;
      padding-bottom: 15px; } }

#breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.5px 0; }
  @media screen and (min-width: 112.5em) {
    #breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
      margin: 0; } }

@media screen and (min-width: 112.5em) and (max-width: 99.99875em) {
  #breadcrumb-vat-switcher-container.grid-container, .header-breadcrumb-vat-switcher-container.grid-container {
    padding-right: 10px;
    padding-left: 10px; } }

.breadcrumbs {
  padding: 0; }
  .breadcrumbs a {
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs span {
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 0.5px;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
      @media screen and (min-width: 112.5em) {
        .breadcrumbs li:after {
          padding-top: 1px; } }

.toggle-switch-label-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .toggle-switch-label-container span {
    padding-right: 10px;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #000000; }

.vat-switcher-container, .header-toggle-switch-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  .vat-switcher-container.vat-switcher.inclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.off .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.off .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.off .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.vat-switcher.exclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.on .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.on .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.on .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.edit-mode.off .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.off .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.off .header-toggle-switch-paddle:before {
    background-color: #000000; }
  .vat-switcher-container.edit-mode.on .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.on .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.on .header-toggle-switch-paddle:before {
    background-color: #DB651B; }
  .vat-switcher-container.inclusive .vat-switcher-paddle, .vat-switcher-container.inclusive .header-toggle-switch-paddle, .vat-switcher-container.off .vat-switcher-paddle, .vat-switcher-container.off .header-toggle-switch-paddle, .header-toggle-switch-container.inclusive .vat-switcher-paddle, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle, .header-toggle-switch-container.off .vat-switcher-paddle, .header-toggle-switch-container.off .header-toggle-switch-paddle {
    padding-right: 32px; }
    .vat-switcher-container.inclusive .vat-switcher-paddle:before, .vat-switcher-container.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.off .vat-switcher-paddle:before, .vat-switcher-container.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.off .vat-switcher-paddle:before, .header-toggle-switch-container.off .header-toggle-switch-paddle:before {
      right: 5px;
      background-color: #eeeeee; }
  .vat-switcher-container.inclusive .switch-exc, .vat-switcher-container.off .switch-exc, .header-toggle-switch-container.inclusive .switch-exc, .header-toggle-switch-container.off .switch-exc {
    display: none; }
  .vat-switcher-container.inclusive .switch, .vat-switcher-container.off .switch, .header-toggle-switch-container.inclusive .switch, .header-toggle-switch-container.off .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container.exclusive .vat-switcher-paddle, .vat-switcher-container.exclusive .header-toggle-switch-paddle, .vat-switcher-container.on .vat-switcher-paddle, .vat-switcher-container.on .header-toggle-switch-paddle, .header-toggle-switch-container.exclusive .vat-switcher-paddle, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle, .header-toggle-switch-container.on .vat-switcher-paddle, .header-toggle-switch-container.on .header-toggle-switch-paddle {
    padding-left: 39px; }
    .vat-switcher-container.exclusive .vat-switcher-paddle:before, .vat-switcher-container.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.on .vat-switcher-paddle:before, .vat-switcher-container.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.on .vat-switcher-paddle:before, .header-toggle-switch-container.on .header-toggle-switch-paddle:before {
      left: 5px;
      background-color: #484848; }
  .vat-switcher-container.exclusive .switch-inc, .vat-switcher-container.on .switch-inc, .header-toggle-switch-container.exclusive .switch-inc, .header-toggle-switch-container.on .switch-inc {
    display: none; }
  .vat-switcher-container.exclusive .switch, .vat-switcher-container.on .switch, .header-toggle-switch-container.exclusive .switch, .header-toggle-switch-container.on .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container .switch, .header-toggle-switch-container .switch {
    width: 34px;
    height: 16.19048px;
    margin: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    line-height: 0;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s; }
    .vat-switcher-container .switch:hover, .header-toggle-switch-container .switch:hover {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s; }
  .vat-switcher-container .vat-switcher-paddle, .vat-switcher-container .header-toggle-switch-paddle, .header-toggle-switch-container .vat-switcher-paddle, .header-toggle-switch-container .header-toggle-switch-paddle {
    min-width: 14.78261px;
    height: 14.78261px;
    display: inline-block; }
    .vat-switcher-container .vat-switcher-paddle:before, .vat-switcher-container .header-toggle-switch-paddle:before, .header-toggle-switch-container .vat-switcher-paddle:before, .header-toggle-switch-container .header-toggle-switch-paddle:before {
      content: '';
      width: 8.09524px;
      height: 8.09524px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border-radius: 0;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
  .vat-switcher-container .switch-exc, .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-exc, .header-toggle-switch-container .switch-inc {
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 2; }
  .vat-switcher-container .switch-exc, .header-toggle-switch-container .switch-exc {
    right: 7px; }
  .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-inc {
    left: 5px; }
  .vat-switcher-container .switch-input, .header-toggle-switch-container .switch-input {
    width: 100%;
    padding: 0;
    margin: 0; }
  .vat-switcher-container p, .header-toggle-switch-container p {
    margin: 0;
    color: #959595;
    font-size: 0.8125rem;
    font-weight: 400; }
  .vat-switcher-container label, .header-toggle-switch-container label {
    cursor: pointer; }
    .vat-switcher-container label span, .header-toggle-switch-container label span {
      font-size: 0.8125rem;
      font-weight: 400; }

/*
----- Footer -----
Handles the following: 
- Footer menu ( also refer to axis-menus.scss )
- Promotion area:
  - Social Icons
  - Mailing List
  - Cms entries
- Footer Banners ( Payment method logos )
- Copyright
- Google Tag Manager footer widget area
- Footer Modules ( also refer to modules.scss )
*/
footer .row-background:first-of-type {
  margin-top: 50px; }

footer .socialIcons, footer .social-icons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 112.5em) {
    footer .socialIcons, footer .social-icons {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin: 0 0 20px;
      padding: 0 0 30px;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #7a8e52;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none;
    line-height: 1; }
    @media screen and (min-width: 112.5em) {
      footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
        margin: 0 0 35px;
        text-align: left; } }
  footer .socialIcons a, footer .social-icons a {
    height: 45px;
    width: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 25px;
    background-color: #5F7B27;
    border: 1px solid #5F7B27;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #DB651B;
      border-color: #DB651B;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #5F7B27;
      border-color: #5F7B27; }
  footer .socialIcons img, footer .social-icons img {
    max-width: 22.5px; }
  footer .socialIcons .icons-container, footer .social-icons .icons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }
    @media screen and (min-width: 112.5em) {
      footer .socialIcons .icons-container, footer .social-icons .icons-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }

footer .cms-content-container {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    footer .cms-content-container {
      padding: 0; } }
  footer .cms-content-container p {
    color: #484848;
    font-size: 0.9375rem;
    font-weight: 400;
    text-transform: none; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #5F7B27;
    font-size: 0.9375rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #DB651B; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #484848; }
    footer .footer-background .cms-content-container a:active {
      color: #959595; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f3f3f3; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #5F7B27;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    footer .footer-background .cms-content-container a.show-contact-icon:hover:before {
      color: #484848;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    footer .footer-background .cms-content-container a.show-contact-icon:active:before {
      color: #f3f3f3; }

.footer-grid-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: auto; }
  @media screen and (min-width: 112.5em) {
    .footer-grid-container {
      max-width: 1800px;
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 112.5em) {
    .footer-content-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-banner-series-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer-banner-series-container.content-header .footer-banner-series {
    max-width: 1800px;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .footer-banner-series-container.content-header .footer-banner-series {
        margin: 0 auto 0; } }
  .footer-banner-series-container.payment-methods {
    margin: 20px 0 25px; }
    @media screen and (min-width: 112.5em) {
      .footer-banner-series-container.payment-methods {
        margin: 60px 0 25px; } }
    @media screen and (min-width: 112.5em) {
      .footer-banner-series-container.payment-methods .footer-banner-series .image {
        -ms-flex-preferred-size: fit-content;
            flex-basis: fit-content; } }
  .footer-banner-series-container + .footer-background {
    margin-top: 0; }
  .footer-banner-series-container .footer-banner-series {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .footer-banner-series-container .footer-banner-series {
        gap: 0 24.5px;
        margin: auto; } }
    .footer-banner-series-container .footer-banner-series a {
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .footer-banner-series-container .footer-banner-series a:hover {
        opacity: .6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .footer-banner-series-container .footer-banner-series .image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer-banner-series-container .footer-banner-series .image img {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content; }

.copyright-outer-container {
  padding: 0;
  background-color: #eeeeee; }
  .copyright-outer-container .copyright-inner-container {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 auto 0;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 35px auto 0;
        text-align: center; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #000000;
      text-transform: none;
      line-height: 1.4; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 0.8125rem;
      font-weight: 700;
      color: #7a8e52;
      text-decoration: none;
      text-transform: none;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #DB651B;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #000000;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

@media screen and (min-width: 112.5em) {
  .footer-navigation > ul.menu {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }

.footer-navigation > ul.menu > li.is-accordion-submenu-parent > a:after {
  color: #7a8e52; }

.footer-navigation > ul.menu > li {
  margin: 0; }
  .footer-navigation > ul.menu > li:first-child p, .footer-navigation > ul.menu > li:first-child a {
    padding-left: 0; }
  .footer-navigation > ul.menu > li:last-child p, .footer-navigation > ul.menu > li:last-child a {
    padding-right: 0; }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #7a8e52; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 112.5em) {
    .footer-navigation > ul.menu > li {
      width: 230px;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0;
      padding: 0;
      border: 0; } }
  .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 20px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    cursor: pointer;
    color: #7a8e52;
    font-size: 1.0625rem;
    font-weight: 700;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    text-transform: none;
    line-height: 1; }
    @media screen and (min-width: 112.5em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #DB651B; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #5F7B27; }
  @media screen and (min-width: 112.5em) {
    .footer-navigation > ul.menu > li > p {
      cursor: default; } }
  .footer-navigation > ul.menu > li > ul {
    width: 100%;
    padding: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    background-color: transparent; }
    @media screen and (min-width: 112.5em) {
      .footer-navigation > ul.menu > li > ul {
        margin-top: 35px; } }
    .footer-navigation > ul.menu > li > ul > li {
      padding: 0 0 10.5px; }
      @media screen and (min-width: 112.5em) {
        .footer-navigation > ul.menu > li > ul > li {
          padding: 0 0 21px; } }
      .footer-navigation > ul.menu > li > ul > li:first-child {
        padding-top: 10.5px; }
        @media screen and (min-width: 112.5em) {
          .footer-navigation > ul.menu > li > ul > li:first-child {
            padding-top: 0; } }
      @media screen and (min-width: 112.5em) {
        .footer-navigation > ul.menu > li > ul > li:last-child {
          padding-bottom: 0; } }
      .footer-navigation > ul.menu > li > ul > li > a {
        padding: 0;
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1;
        text-transform: none;
        -webkit-transition: color 0.8s, opacity 0.8s;
        transition: color 0.8s, opacity 0.8s; }
        .footer-navigation > ul.menu > li > ul > li > a:hover {
          color: #DB651B;
          text-decoration: underline;
          opacity: 0.5;
          -webkit-transition: color 0.6s, opacity 0.6s;
          transition: color 0.6s, opacity 0.6s; }
        .footer-navigation > ul.menu > li > ul > li > a:active {
          color: #000000;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }

.footer-navigation > ul.menu .link-description {
  display: inline-block;
  text-decoration: inherit; }

.footer-navigation.main-menu {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 112.5em) {
    .footer-navigation.main-menu {
      width: auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.footer-navigation .menu .is-submenu-item a {
  padding: 0; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:hover {
  color: #DB651B; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:active {
  color: #5F7B27; }

.footer-cms-content-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }
  .footer-cms-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px; }
    @media screen and (min-width: 112.5em) {
      .footer-cms-content-container .cms-content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 30px; } }
    .footer-cms-content-container .cms-content-container h2 {
      margin: 0 0 35px;
      color: #7a8e52;
      font-size: 17;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #7a8e52;
      font-size: 1.0625rem;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container table {
      color: #000000; }
      @media print, screen and (max-width: 112.49875em) {
        .footer-cms-content-container .cms-content-container table td:not(:first-child) {
          padding-left: 15px; } }
      @media screen and (min-width: 112.5em) {
        .footer-cms-content-container .cms-content-container table td {
          padding: 0; } }
    .footer-cms-content-container .cms-content-container > div {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }

.footer-promotions {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 112.5em) {
    .footer-promotions {
      max-width: 50%;
      margin: 0;
      padding: 0; } }
  .footer-promotions + .footer-navigation {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .footer-promotions + .footer-navigation .menu {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .footer-promotions .mailing-list-container, .footer-promotions .footer-mailing-list-reveal-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .footer-promotions .socialIcons, .footer-promotions .social-icons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .footer-promotions .cms-content-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.footer-promotion-heading h3 {
  margin: 0 0 15px;
  color: #7a8e52;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none; }
  @media screen and (min-width: 112.5em) {
    .footer-promotion-heading h3 {
      margin: 0 0 35px; } }

.footer-logo-container {
  width: 50%;
  margin: 0 0 20px; }
  @media print, screen and (min-width: 40em) {
    .footer-logo-container {
      width: 40%; } }
  @media screen and (min-width: 112.5em) {
    .footer-logo-container {
      margin: 0 0 30px; } }

.footer-contact-details {
  margin: 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    .footer-contact-details {
      margin: 0 0 25px; } }
  .footer-contact-details ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer-contact-details ul.menu > li {
      margin: 0 0 10px; }
      .footer-contact-details ul.menu > li:hover {
        background-color: transparent; }
      @media screen and (min-width: 112.5em) {
        .footer-contact-details ul.menu > li {
          margin: 0 0 15px; } }
      .footer-contact-details ul.menu > li > a {
        padding: 20px 0;
        color: #5F7B27;
        font-size: 1rem; }
        @media screen and (min-width: 112.5em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0; } }
        .footer-contact-details ul.menu > li > a:hover {
          color: #ffffff; }
        .footer-contact-details ul.menu > li > a:active {
          color: #ffffff; }

.footer-reveal-button {
  width: 100%;
  display: block;
  padding: 15px 30px;
  background-color: #5F7B27;
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 0;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media print, screen and (min-width: 40em) {
    .footer-reveal-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .footer-reveal-button:hover {
    background-color: #DB651B;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #85926c; }

.footer-mailing-list-reveal-container.active .footer-reveal-button {
  display: none; }

.footer-mailing-list-reveal-container.active .mailing-list-container {
  display: block; }
  @media screen and (min-width: 112.5em) {
    .footer-mailing-list-reveal-container.active .mailing-list-container {
      max-width: 400px; } }

.footer-mailing-list-reveal-container .mailing-list-container {
  display: none; }

.footer-mailing-list-link {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #ffffff;
  background-color: #5F7B27;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #5F7B27;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 112.5em) {
    .footer-mailing-list-link {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .footer-mailing-list-link:hover, .footer-mailing-list-link.hover {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .footer-mailing-list-link:hover:after, .footer-mailing-list-link.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .footer-mailing-list-link:hover .graduated-colour-edge .step, .footer-mailing-list-link.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .footer-mailing-list-link:active, .footer-mailing-list-link.active {
    color: #ffffff;
    background-color: #93b64d;
    border-color: #93b64d;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .footer-mailing-list-link:active:after, .footer-mailing-list-link.active:after {
      color: #ffffff; }
  .footer-mailing-list-link:disabled, .footer-mailing-list-link.disabled, .footer-mailing-list-link[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .footer-mailing-list-link:disabled:after, .footer-mailing-list-link.disabled:after, .footer-mailing-list-link[disabled]:after {
      color: #6d6d6d; }
  .footer-mailing-list-link:disabled:hover, .footer-mailing-list-link.disabled:hover {
    border-color: #6d6d6d; }
  .footer-mailing-list-link:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .footer-mailing-list-link:after {
    content: "";
    margin: 0 0 0 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .footer-mailing-list-link .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.mailing-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 112.5em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #7a8e52;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1;
    text-transform: none; }
    @media screen and (min-width: 112.5em) {
      .mailing-list-container h3 {
        margin: 0 0 35px; } }
  .mailing-list-container p {
    color: #484848;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 112.5em) {
      .mailing-list-container p {
        padding-bottom: 21px; } }
  .mailing-list-container span.mail-input {
    width: 100%;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #dadada; }
  .mailing-list-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #eeeeee; }
    @media print, screen and (max-width: 39.99875em) {
      .mailing-list-container form input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .mailing-list-container form input + button {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; } }
  .mailing-list-container fieldset {
    margin: 0;
    padding: 0; }
  .mailing-list-container .form-error {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }

.footerOuterContainer, .footer-background {
  margin-top: 25px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 20px 10px; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 20px 0; } }
  .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 112.5em) {
      .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }

/*
----- AJAX -----
Handles the following: 
- AJAX Spinner
- Callback containers
- Update Content - Basically a container inside of the ajax response that allows you to update content outside of the callback container.
*/
.callbackContainer {
  width: 100%;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .callbackContainer:has(.AJAXBlock) {
    min-height: 50px; }

.callbackListContainer {
  position: relative; }

.AJAXBlock, .initialising-content-blocker-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 10000; }
  .AJAXBlock .spinner, .initialising-content-blocker-container .spinner {
    width: 50px;
    height: 50px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .AJAXBlock .spinner:before, .initialising-content-blocker-container .spinner:before {
      content: "";
      width: 42px;
      height: 42px;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border: 4px solid rgba(95, 123, 39, 0.2);
      border-top: 4px solid #5F7B27;
      border-radius: 50%;
      -webkit-transition: all .2s ease 0s;
      transition: all .2s ease 0s;
      -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
              animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
      z-index: 1; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
    .AJAXBlock .spinner + .cms-content-container, .initialising-content-blocker-container .spinner + .cms-content-container {
      margin: 10px 0 0; }
  .AJAXBlock .cms-content-container p, .initialising-content-blocker-container .cms-content-container p {
    color: #484848;
    font-weight: 600; }

[data-update-content], [data-ajax-update-breadcrumbs] {
  display: none; }

/*
----- Filters ------ 
- These a typically on list pages for products.
- Attribute filters that also include colour filters and price slider.
- You will also find the mobile styles here for filters.
*/
#mobileToggleContainer {
  width: 100%; }
  #mobileToggleContainer ul {
    padding: 0;
    margin: 0;
    list-style: none; }

#filters-toggle, .filter-toggle {
  width: 100%;
  position: relative;
  display: block;
  padding: 20px 0;
  background-color: #f4f6ee;
  text-align: center;
  color: #5F7B27;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  cursor: pointer;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media screen and (min-width: 112.5em) {
    #filters-toggle, .filter-toggle {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      background-color: transparent;
      color: var(--primary-colour-lightness-0);
      font-size: 0.875rem;
      font-weight: 700; }
      #filters-toggle:hover, .filter-toggle:hover {
        color: #DB651B;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #5F7B27;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  #filters-toggle:not(.is-stuck), .filter-toggle:not(.is-stuck) {
    top: auto !important; }
  #filters-toggle.is-stuck, .filter-toggle.is-stuck {
    max-width: 100% !important;
    position: fixed;
    left: 0;
    padding: 10px 0;
    background-color: #5F7B27;
    color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: max-height 4s;
    transition: max-height 4s;
    z-index: 1000; }
    #filters-toggle.is-stuck:before, .filter-toggle.is-stuck:before {
      color: #ffffff; }
  #filters-toggle:before, .filter-toggle:before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #5F7B27; }
    @media screen and (min-width: 112.5em) {
      #filters-toggle:before, .filter-toggle:before {
        font-size: 15px; } }
  #filters-toggle:hover, .filter-toggle:hover {
    opacity: 1; }
  #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
    margin-right: 3px; }
    @media screen and (min-width: 112.5em) {
      #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
        width: 15px;
        height: 15px;
        position: absolute;
        top: 12px;
        left: 12px;
        display: inline-block;
        margin-right: 0;
        background-color: #DB651B;
        color: #ffffff;
        font-size: 0.5625rem;
        line-height: 14.2px;
        text-align: center;
        border-radius: 25px;
        border: 0.8px solid #ffffff; } }

.filters-header {
  position: relative;
  background-color: #f4f6ee; }
  @media screen and (min-width: 112.5em) {
    .filters-header {
      background-color: transparent; } }
  .filters-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .filters-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: rgba(95, 123, 39, 0.8);
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .filters-header .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .filters-header .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

@media screen and (min-width: 112.5em) {
  .filters-footer {
    display: none; } }

.filters-footer .button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .filters-footer .button-container button {
    width: 100%;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .filters-footer .button-container button {
        width: auto; } }

#filterBackToList {
  position: relative; }
  #filterBackToList .close-button {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
    display: block;
    padding: 10px 0;
    background-color: rgba(95, 123, 39, 0.4);
    color: #000000;
    font-size: 1.125rem;
    text-align: center;
    line-height: inherit; }

.attributeList.menu > ul > li:not(.active) .attributesContainer {
  height: 0; }

.attributeList.menu > li {
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 112.5em) {
    .attributeList.menu > li {
      margin: 0 0 25px; } }
  .attributeList.menu > li:first-child {
    padding-top: 15px; }
  .attributeList.menu > li li {
    border-bottom: 0; }

.attributeList.menu ul {
  list-style: none;
  border-top: 0; }
  .attributeList.menu ul:first-child {
    margin: 0;
    padding: 0; }
  .attributeList.menu ul li {
    padding: 5px 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .attributeList.menu ul li:hover {
        background-color: #f3f3f3;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .attributeList.menu ul li.active a {
    padding: 0;
    background-color: transparent;
    color: #000000;
    font-size: 0.9375rem; }
  .attributeList.menu ul li.active ul {
    max-height: 5000px;
    margin: 0;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .attributeList.menu ul ul {
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .attributeList.menu ul ul li {
      position: relative; }
      .attributeList.menu ul ul li:hover .filterName, .attributeList.menu ul ul li:hover .filterItemCount {
        text-decoration: underline;
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .attributeList.menu ul ul li:hover .colourPreview {
        max-width: 12px;
        height: 12px;
        border-radius: 5px;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
  .attributeList.menu ul label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.9375rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #DB651B; }
    .attributeList.menu ul label:active {
      color: #000000; }
  .attributeList.menu ul .filterName {
    overflow-wrap: break-word; }
  .attributeList.menu ul .colour-preview-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .attributeList.menu ul .colourPreview {
    width: 10px;
    height: 10px;
    display: block;
    margin: 0 10px 0 auto;
    border-radius: 5px;
    border: 1px solid transparent;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  .attributeList.menu ul .filterItemCount {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 5px;
    font-size: 0.9375rem;
    text-align: right; }
  .attributeList.menu ul .control .checkbox {
    margin-right: 12px;
    margin-left: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .attributeList.menu ul .control .checkbox span:before {
      right: 0; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item[aria-expanded=true] > a {
  display: none; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item.active {
  padding: 0; }

.attributeList.menu .is-accordion-submenu[aria-hidden=true] {
  height: 0;
  -webkit-transition: height 0.8s;
  transition: height 0.8s; }

.attributeList.menu .is-accordion-submenu.scroller {
  overflow-y: auto;
  padding: 0 10px 0 0; }
  .attributeList.menu .is-accordion-submenu.scroller ul {
    display: block !important; }

.attributeList.menu .optionHeading {
  position: relative;
  padding: 0;
  display: block;
  padding-bottom: 10px;
  color: #5F7B27;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700; }
  .attributeList.menu .optionHeading:hover {
    color: #DB651B; }
  .attributeList.menu .optionHeading:active {
    color: #000000; }
  .attributeList.menu .optionHeading span {
    display: inline-block; }

.attributeList.menu .submenu {
  padding: 0; }

.attributeList.menu .showMoreAttributes > a, .attributeList.menu .showLessAttributes > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  color: #000000;
  font-weight: 600;
  font-style: italic; }
  .attributeList.menu .showMoreAttributes > a:hover, .attributeList.menu .showLessAttributes > a:hover {
    color: #5F7B27; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #93b64d; }

.showMoreAttributes.active a {
  font-size: 0.9375rem;
  color: #5F7B27;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.accordion-menu .is-accordion-submenu .showLessAttributes a {
  padding: 0; }

.showLessAttributes a {
  color: #000000;
  cursor: pointer; }
  .showLessAttributes a:before {
    content: "";
    color: #DB651B;
    font-size: 12px;
    font-family: "Font Awesome Solid";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #5F7B27; }
    .showLessAttributes a:hover:before {
      color: #5F7B27;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #93b64d; }
    .showLessAttributes a:active:before {
      color: #93b64d;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#filters-container {
  display: block; }

#attribute-filters-form {
  width: 0;
  height: 0;
  overflow: hidden;
  background-color: #ffffff; }
  @media screen and (min-width: 112.5em) {
    #attribute-filters-form {
      width: auto;
      height: auto;
      background-color: transparent;
      overflow: visible; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active {
      overflow-y: scroll; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active-updating {
      overflow: hidden; }
      #attribute-filters-form.active-updating #filters-container {
        opacity: 0.3; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active, #attribute-filters-form.active-updating {
      width: 100vw;
      min-height: 100%;
      padding: 10px;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10000; }
      #attribute-filters-form.active .attribute-list-container, #attribute-filters-form.active-updating .attribute-list-container {
        height: 100vh;
        overflow: scroll; } }
  #attribute-filters-form h2 {
    padding: 10px 5px;
    color: #5F7B27;
    font-size: 1.25rem;
    font-weight: 600;
    border-bottom: 1px solid transparent; }
    @media screen and (min-width: 112.5em) {
      #attribute-filters-form h2 {
        padding: 0 0 5px;
        border-color: #aeaeae; } }
  #attribute-filters-form ul li {
    margin-left: 0; }
    #attribute-filters-form ul li:active, #attribute-filters-form ul li:hover {
      background-color: transparent; }
    #attribute-filters-form ul li:active a {
      color: #484848; }
  #attribute-filters-form .showMoreAttributesContainer {
    padding-left: 0; }
    #attribute-filters-form .showMoreAttributesContainer li {
      padding-left: 0; }

@media screen and (min-width: 112.5em) {
  #appliedFilters {
    margin-bottom: 35px; } }

#appliedFilters h3 {
  margin: 0;
  padding: 10px 0;
  color: #5F7B27;
  background-color: transparent;
  font-weight: 700;
  font-size: 1rem;
  font-style: italic; }

#appliedFilters ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #aeaeae; }

#appliedFilters li {
  position: relative;
  margin: 5px 0 0; }
  #appliedFilters li:hover a {
    background-color: #f3f3f3;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    #appliedFilters li:hover a:after {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400; }
  #appliedFilters a:after {
    content: 'x';
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    display: block;
    margin: auto;
    line-height: 0.6;
    color: #959595;
    font-weight: 700;
    font-style: normal;
    font-size: 1.0625rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.1875rem;
    color: #DB651B;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 0.9375rem;
    font-style: italic;
    font-weight: 600;
    color: #000000; }

input.price-slider-input {
  border-radius: 0 0 0 0; }

.price-slider-input {
  max-width: 70px;
  max-height: 35px;
  padding: 0 !important;
  border-width: 1px 1px 1px 0 !important;
  pointer-events: none; }
  .price-slider-input.ui-state-active {
    border-color: #DB651B;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #DB651B;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input + .currency {
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 10px;
    background-color: #ffffff;
    border-color: #c8c8c8;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
  .price-slider-input:focus + .currency {
    border-color: transparent;
    -webkit-box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .price-slider-input:-moz-read-only {
    background-color: transparent; }
  .price-slider-input:read-only {
    background-color: transparent; }

.price-input-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .price-input-container:nth-of-type(2) {
    float: right; }

#price-slider {
  max-width: 96%;
  margin-top: 25px; }
  @media screen and (min-width: 112.5em) {
    #price-slider {
      max-width: 93%; } }

#priceAttHigh {
  float: right; }

/*
----- Modals ------ 
- This is the mechanism that gets used for popup content in express.
- Can be used to pop form, cms content, notification & payment frames.
*/
.modal-container {
  width: 0;
  height: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .modal-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container .popup-background {
    display: none; }
  .modal-container .content-container {
    max-width: 1150px;
    width: 100%;
    max-height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto;
    border-radius: 0; }
    @media screen and (min-width: 112.5em) {
      .modal-container .content-container {
        overflow: hidden; } }
  .modal-container .content {
    width: 100%;
    margin: auto;
    padding-right: 10px; }
    @media screen and (min-width: 112.5em) {
      .modal-container .content {
        margin-bottom: 10px;
        overflow-y: auto; } }
  .modal-container .buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 112.5em) {
      .modal-container .buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly; } }
  .modal-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .modal-container .page-buttons-container {
    margin: 15px auto 30px; }
  .modal-container.active {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    overflow-y: auto;
    z-index: 2001; }
    .modal-container.active .popup-background {
      display: block; }
  .modal-container.ajax .content-container {
    padding: 5px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.ajax .content-container {
        padding: 10px; } }
  .modal-container.dropped-session .content-container {
    max-width: calc(var(--contained-content-max-width) + 100px); }
  .modal-container.cms-entry-viewer .cms-content-container {
    max-width: 850px;
    padding-top: 15px;
    padding-bottom: 15px;
    border: 1px solid #aeaeae; }
  .modal-container.site-list.publish-history .content {
    width: 90%; }
  .modal-container.site-list.site-information .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.documentation {
    --ck-color-base-border: $colour3; }
    .modal-container.documentation.entry-editor .content-container {
      max-width: 98%;
      height: 100%;
      overflow: unset; }
    .modal-container.documentation.entry-editor .documentation-content-container {
      max-width: unset; }
    @media screen and (min-width: 112.5em) {
      .modal-container.documentation.entry-editor .modal-header:has(.cms-content-container) ~ .content {
        width: calc(100% - 60px); } }
    .modal-container.documentation.entry-editor .content {
      width: 100%;
      height: 100%;
      margin-top: 0;
      padding-right: 0;
      overflow: unset; }
    .modal-container.documentation.entry-editor .ck-editor__main > div {
      height: var(--editor-height); }
    .modal-container.documentation.insert-article .ck-editor .ck-content, .modal-container.documentation.insert .ck-editor .ck-content, .modal-container.documentation.property-editor .ck-editor .ck-content {
      height: 30vh; }
    .modal-container.documentation .rich-text-editor-container {
      width: 100%;
      border: 1px solid #eeeeee; }
  .modal-container.media-browser .media-browser-container {
    margin: 0 10px;
    padding: 10px;
    border: 1px solid #dadada; }
  .modal-container.software-download .software-instructions-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px; }
    .modal-container.software-download .software-instructions-container .revision-text {
      margin: 10px 0 0 auto;
      font-size: 0.8125rem;
      font-style: italic; }
    .modal-container.software-download .software-instructions-container .cms-content-container {
      max-height: 40vh;
      overflow-y: scroll; }
      .modal-container.software-download .software-instructions-container .cms-content-container p, .modal-container.software-download .software-instructions-container .cms-content-container li {
        margin-left: 0 !important; }
  .modal-container.software-download .software-update-available-downloads {
    margin: 20px 0; }
    .modal-container.software-download .software-update-available-downloads ul {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px 20px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 112.5em) {
        .modal-container.software-download .software-update-available-downloads ul {
          grid-template-columns: 1fr 1fr; } }
      .modal-container.software-download .software-update-available-downloads ul .software-download-button {
        width: 100%;
        display: grid;
        grid-template-columns: 60px 1fr 30px;
        gap: 20px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 20px;
        border: 1px solid #eeeeee;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 112.5em) {
          .modal-container.software-download .software-update-available-downloads ul .software-download-button {
            padding: 20px 10px; } }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover {
          background-color: #5F7B27;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:before, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:after, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-label, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-content-container, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .data-time-container {
            color: #ffffff;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:before {
          content: "";
          color: #663399;
          font-family: "fontello";
          font-size: 30px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:after {
          content: "";
          color: #663399;
          font-family: "Font Awesome Solid";
          font-size: 22px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button span {
          grid-column: 2; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-label {
          margin: 0 0 10px;
          color: #663399;
          font-family: "Open Sans", "Open Sans Fallback", "Arial";
          font-weight: 600;
          font-size: 1.125rem;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-content-container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          text-align: left;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container {
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container:before {
            content: "";
            margin-right: 5px;
            font-family: "Font Awesome Regular";
            font-size: 15px; }
  @media screen and (min-width: 112.5em) {
    .modal-container.payment, .modal-container.add-new-card {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container.payment .cms-content-container, .modal-container.add-new-card .cms-content-container {
    text-align: center; }
  .modal-container.payment .content-container, .modal-container.add-new-card .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto; }
  .modal-container.payment .content, .modal-container.add-new-card .content {
    margin-bottom: 0; }
    .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
      margin-top: 15px;
      margin-bottom: 15px; }
      @media screen and (min-width: 112.5em) {
        .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
          margin: 30px 30px; } }
  .modal-container.payment iframe, .modal-container.add-new-card iframe {
    max-width: 100%;
    width: 630px;
    height: 620px;
    display: block;
    margin: 0 auto 40px;
    border: 1px solid #dadada;
    border-radius: 0;
    -webkit-transition: border 0.8s;
    transition: border 0.8s; }
    .modal-container.payment iframe:hover, .modal-container.add-new-card iframe:hover {
      border-color: #DB651B;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .modal-container.enquiry-form .content-container {
    max-width: 900px; }
    .modal-container.enquiry-form .content-container form {
      width: 100%;
      margin: 10px 0; }
      @media screen and (min-width: 112.5em) {
        .modal-container.enquiry-form .content-container form {
          max-width: 80%;
          margin: 10px auto 0; } }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    padding: 5px 5px 10px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
        padding: 10px 10px 50px; } }
  .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
    overflow-y: auto; }
    @media print, screen and (max-width: 112.49875em) {
      .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid var(--neutral-colour-lightness-9);
        -webkit-box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1);
                box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1); } }
  .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
    --common-button-small-margin: auto;
    --common-button-medium-margin: var(--common-button-small-margin); }
    @media screen and (min-width: 112.5em) {
      .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
        margin-bottom: 40px; } }
  @media screen and (min-width: 112.5em) {
    .modal-container.branch-switcher #branch-switcher-container, .modal-container.branch-switcher #account-switcher-container, .modal-container.account-switcher #branch-switcher-container, .modal-container.account-switcher #account-switcher-container {
      padding: 0 80px 0; } }
  @media screen and (min-width: 112.5em) {
    .modal-container.branch-switcher .current-branch-details, .modal-container.branch-switcher .branch-switcher, .modal-container.branch-switcher .current-account-details, .modal-container.branch-switcher .account-switcher, .modal-container.account-switcher .current-branch-details, .modal-container.account-switcher .branch-switcher, .modal-container.account-switcher .current-account-details, .modal-container.account-switcher .account-switcher {
      margin-bottom: 25px; } }
  .modal-container.branch-switcher .current-branch-details h3, .modal-container.branch-switcher .branch-switcher h3, .modal-container.branch-switcher .current-account-details h3, .modal-container.branch-switcher .account-switcher h3, .modal-container.account-switcher .current-branch-details h3, .modal-container.account-switcher .branch-switcher h3, .modal-container.account-switcher .current-account-details h3, .modal-container.account-switcher .account-switcher h3 {
    font-size: 1.375rem; }
  .modal-container.branch-switcher .current-branch-details .address-line, .modal-container.branch-switcher .current-account-details .address-line, .modal-container.account-switcher .current-branch-details .address-line, .modal-container.account-switcher .current-account-details .address-line {
    padding: 2px 0;
    font-size: 0.875rem; }
  .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
    display: inline-block;
    padding-right: 5px;
    color: #5F7B27;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
        width: 120px; } }
  .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
        width: calc(100% - 120px); } }
  .modal-container.form .content-container {
    max-width: 900px;
    width: 100%;
    padding: 10px;
    margin: auto; }
    .modal-container.form .content-container form {
      max-height: 90vh;
      width: 100%;
      margin: auto;
      overflow-y: auto; }
      @media screen and (min-width: 112.5em) {
        .modal-container.form .content-container form {
          max-width: 80%;
          margin: 20px auto 30px; } }
  .modal-container.form .cms-content-container {
    margin: 10px 0 0; }
  .modal-container.table .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    max-width: 1150px;
    width: 100%; }
  .modal-container.manage-user-branch-selecter .modal-header h3 {
    margin: 0 0 15px;
    font-size: 1.375rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.manage-user-branch-selecter .modal-header h3 {
        margin: 0 0 35px; } }
  .modal-container.manage-user-branch-selecter .content-container {
    max-width: 1150px;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    z-index: 150; }
    @media screen and (min-width: 112.5em) {
      .modal-container.manage-user-branch-selecter .content-container {
        max-height: 730px; } }
  .modal-container.manage-user-branch-selecter #users-branch-search-container {
    max-width: 620px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 auto 15px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.manage-user-branch-selecter #users-branch-search-container {
        margin: 0 auto 40px; } }
  @media screen and (min-width: 112.5em) {
    .modal-container.manage-user-branch-selecter .select-branches-container {
      max-width: 850px;
      width: 100%;
      max-height: 300px;
      margin: 0 auto 20px;
      overflow-y: auto; } }
  .modal-container.manage-user-branch-selecter .table-footer-spacer {
    max-width: 850px;
    margin: auto; }
  .modal-container.manage-user-branch-selecter .branch-search {
    width: 90%;
    height: 50px;
    margin: 0; }
  .modal-container.manage-user-branch-selecter .control.checkbox {
    margin: 0; }
  .modal-container.manage-user-branch-selecter td {
    vertical-align: middle; }
  .modal-container.quick-order-search-results .modal-header .cms-content-container {
    max-width: 850px;
    width: 100%;
    margin: 20px auto;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.quick-order-search-results .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.quick-order-search-results [inject-container] {
    padding: 5px 5px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.quick-order-search-results [inject-container] {
        padding: 0; } }
  .modal-container.quick-order-search-results .content {
    max-width: 850px;
    width: 100%;
    max-height: 465px; }
  .modal-container.scanner .modal-header .cms-content-container {
    max-width: 640px;
    width: 100%;
    margin: 20px auto;
    padding: 0;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.scanner .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.scanner .content {
    max-width: 690px;
    width: 100%; }
  .modal-container.call-form .content {
    max-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .modal-container.call-form .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    padding: 5px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.call-form .content-container {
        max-width: 1150px;
        width: 100%;
        overflow: hidden;
        padding: 10px; } }
    .modal-container.call-form .content-container form {
      max-width: 95%;
      width: 100%;
      margin: auto; }
      @media screen and (min-width: 112.5em) {
        .modal-container.call-form .content-container form {
          max-width: 850px; } }
  .modal-container.video-player .modal-header .cms-content-container {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
    text-align: center; }
  .modal-container.video-player .content-container {
    max-width: 95vw; }
    .modal-container.video-player .content-container [inject-container] {
      aspect-ratio: 16 / 9; }
      .modal-container.video-player .content-container [inject-container] iframe {
        width: 100%;
        height: 100%; }
  .modal-container .modal-header .modal-heading {
    margin: 0 0 5px;
    padding: 5px 44px;
    background-color: #7a8e52;
    border-radius: 0; }
    @media screen and (min-width: 112.5em) {
      .modal-container .modal-header .modal-heading {
        padding: 16px 44px; } }
  .modal-container .modal-header h2 {
    margin: 0;
    padding: 0;
    color: #ffffff;
    text-align: center;
    font-size: 1.5625rem;
    font-weight: 700; }
  .modal-container .modal-header p {
    font-size: 1rem; }
  .modal-container .modal-header .cms-content-container {
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 112.5em) {
      .modal-container .modal-header .cms-content-container {
        margin: 30px 30px; } }
    .modal-container .modal-header .cms-content-container.disabled-no-content, .modal-container .modal-header .cms-content-container:empty {
      display: none; }
  .modal-container .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 12.5px;
    right: 20px; }
    .modal-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container .close-button:hover:before {
      color: contract-checker(#DB651B, #7a8e52);
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
    @media screen and (min-width: 112.5em) {
      .modal-container .close-button {
        top: 16px; } }
  .modal-container.confirmation .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 26.66667px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.confirmation .content-container {
        padding: 80px; } }
  .modal-container.confirmation .content {
    width: 100%;
    margin: 0; }
  .modal-container.confirmation:not(.ajax) .content {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.confirmation:not(.ajax) .content {
        margin: 0 auto 50px; } }
    .modal-container.confirmation:not(.ajax) .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation:not(.ajax) .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 112.49875em) {
          .modal-container.confirmation:not(.ajax) .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .message {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.confirmation .message {
        margin: 0 auto 50px; } }
    .modal-container.confirmation .message p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation .message p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 112.49875em) {
          .modal-container.confirmation .message p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.confirmation .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.confirmation .prompt-cancel-button:hover, .modal-container.confirmation .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.confirmation .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.confirmation .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.confirmation .prompt-cancel-button:active, .modal-container.confirmation .prompt-cancel-button.active {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.confirmation .prompt-cancel-button:disabled, .modal-container.confirmation .prompt-cancel-button.disabled, .modal-container.confirmation .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.confirmation .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.confirmation .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.confirmation .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .modal-container.confirmation .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .modal-container.alert:not(.ajax) .content {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert:not(.ajax) .content:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content h1, .modal-container.alert:not(.ajax) .content h2, .modal-container.alert:not(.ajax) .content h3, .modal-container.alert:not(.ajax) .content h4, .modal-container.alert:not(.ajax) .content h5, .modal-container.alert:not(.ajax) .content h6, .modal-container.alert:not(.ajax) .content p, .modal-container.alert:not(.ajax) .content a {
      color: #b20c0c; }
  .modal-container.alert .message {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert .message:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert .message > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert .message h1, .modal-container.alert .message h2, .modal-container.alert .message h3, .modal-container.alert .message h4, .modal-container.alert .message h5, .modal-container.alert .message h6, .modal-container.alert .message p, .modal-container.alert .message a {
      color: #b20c0c; }
  .modal-container.alert .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.alert .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.alert .prompt-proceed-button:hover, .modal-container.alert .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.alert .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.alert .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.alert .prompt-proceed-button:active, .modal-container.alert .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.alert .prompt-proceed-button:disabled, .modal-container.alert .prompt-proceed-button.disabled, .modal-container.alert .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.alert .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.alert .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.warning:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content h1, .modal-container.warning:not(.ajax) .content h2, .modal-container.warning:not(.ajax) .content h3, .modal-container.warning:not(.ajax) .content h4, .modal-container.warning:not(.ajax) .content h5, .modal-container.warning:not(.ajax) .content h6, .modal-container.warning:not(.ajax) .content p, .modal-container.warning:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.warning .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning .message h1, .modal-container.warning .message h2, .modal-container.warning .message h3, .modal-container.warning .message h4, .modal-container.warning .message h5, .modal-container.warning .message h6, .modal-container.warning .message p, .modal-container.warning .message a {
      color: #ff5e05; }
  .modal-container.warning .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.warning .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.warning .prompt-proceed-button:hover, .modal-container.warning .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.warning .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.warning .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.warning .prompt-proceed-button:active, .modal-container.warning .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.warning .prompt-proceed-button:disabled, .modal-container.warning .prompt-proceed-button.disabled, .modal-container.warning .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.warning .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.warning .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.action-required:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content h1, .modal-container.action-required:not(.ajax) .content h2, .modal-container.action-required:not(.ajax) .content h3, .modal-container.action-required:not(.ajax) .content h4, .modal-container.action-required:not(.ajax) .content h5, .modal-container.action-required:not(.ajax) .content h6, .modal-container.action-required:not(.ajax) .content p, .modal-container.action-required:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.action-required .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required .message h1, .modal-container.action-required .message h2, .modal-container.action-required .message h3, .modal-container.action-required .message h4, .modal-container.action-required .message h5, .modal-container.action-required .message h6, .modal-container.action-required .message p, .modal-container.action-required .message a {
      color: #ff5e05; }
  .modal-container.action-required .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.action-required .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.action-required .prompt-proceed-button:hover, .modal-container.action-required .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.action-required .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.action-required .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.action-required .prompt-proceed-button:active, .modal-container.action-required .prompt-proceed-button.active {
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.action-required .prompt-proceed-button:disabled, .modal-container.action-required .prompt-proceed-button.disabled, .modal-container.action-required .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.action-required .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.action-required .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.success:not(.ajax) .content {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success:not(.ajax) .content:has(.content-container):before {
      color: #12811f; }
    .modal-container.success:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success:not(.ajax) .content h1, .modal-container.success:not(.ajax) .content h2, .modal-container.success:not(.ajax) .content h3, .modal-container.success:not(.ajax) .content h4, .modal-container.success:not(.ajax) .content h5, .modal-container.success:not(.ajax) .content h6, .modal-container.success:not(.ajax) .content p, .modal-container.success:not(.ajax) .content a {
      color: #12811f; }
  .modal-container.success .message {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success .message:has(.content-container):before {
      color: #12811f; }
    .modal-container.success .message > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success .message h1, .modal-container.success .message h2, .modal-container.success .message h3, .modal-container.success .message h4, .modal-container.success .message h5, .modal-container.success .message h6, .modal-container.success .message p, .modal-container.success .message a {
      color: #12811f; }
  .modal-container.success .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.success .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.success .prompt-proceed-button:hover, .modal-container.success .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.success .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.success .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.success .prompt-proceed-button:active, .modal-container.success .prompt-proceed-button.active {
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.success .prompt-proceed-button:disabled, .modal-container.success .prompt-proceed-button.disabled, .modal-container.success .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.success .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.success .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .content-container {
    padding: 20px 10px; }
    @media screen and (min-width: 112.5em) {
      .modal-container.demo .content-container {
        padding: 115px 135px; } }
    .modal-container.demo .content-container h2 {
      margin-bottom: 25px;
      color: #ff0101;
      font-size: 1.625rem;
      font-weight: 600;
      text-transform: uppercase; }
      @media screen and (min-width: 112.5em) {
        .modal-container.demo .content-container h2 {
          margin-bottom: 35px; } }
    .modal-container.demo .content-container h3 {
      margin-bottom: 25px;
      color: #5F7B27;
      font-size: 1.375rem;
      font-weight: 700; }
    .modal-container.demo .content-container p {
      margin-bottom: 20px;
      padding: 0;
      font-size: 1.125rem;
      font-weight: 300; }
      @media screen and (min-width: 112.5em) {
        .modal-container.demo .content-container p {
          padding: 0 50px; } }
    .modal-container.demo .content-container strong {
      color: #000000; }
  .modal-container.demo .content {
    width: 100%;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .modal-container.demo .content {
        max-width: 885px; } }
  .modal-container.demo .modal-logo {
    width: 135px;
    height: 135px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 10px; }
  .modal-container.demo .image-slot-1 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .modal-container.demo .image-slot-1:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 70px;
      color: #5F7B27; }
  .modal-container.demo .image-slot-2 {
    position: absolute; }
    .modal-container.demo .image-slot-2:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 135px;
      color: #ff0101; }
  .modal-container.demo .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.demo .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-cancel-button:hover, .modal-container.demo .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-cancel-button:active, .modal-container.demo .prompt-cancel-button.active {
      background-color: #f5f7ed;
      border-color: #f5f7ed;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-cancel-button:disabled, .modal-container.demo .prompt-cancel-button.disabled, .modal-container.demo .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #5F7B27;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .modal-container.demo .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-proceed-button:hover, .modal-container.demo .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-proceed-button:active, .modal-container.demo .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-proceed-button:disabled, .modal-container.demo .prompt-proceed-button.disabled, .modal-container.demo .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.modal-information-container {
  width: 100%;
  margin: auto;
  border: 1px solid #c8c8c8; }
  @media screen and (min-width: 112.5em) {
    .modal-information-container {
      margin: 20px auto 30px; } }
  .modal-information-container .information-section {
    min-width: 80vw;
    width: 100%;
    padding: 0 0 10px; }
    @media screen and (min-width: 112.5em) {
      .modal-information-container .information-section {
        min-width: unset;
        width: 640px;
        padding: 0 0 20px; } }
    .modal-information-container .information-section h2 {
      width: 100%;
      display: block;
      padding: 15px 0;
      margin: 0 0 10px;
      color: #5F7B27;
      background-color: #f4f6ee;
      font-weight: 600;
      font-size: 1.125rem;
      text-align: center;
      text-transform: none; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 112.5em) {
      .modal-information-container .information-option {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 10px 0;
        padding: 0 20px; } }
    .modal-information-container .information-option .label {
      width: 100%;
      font-size: 0.9375rem;
      font-weight: 600; }
      @media screen and (min-width: 112.5em) {
        .modal-information-container .information-option .label {
          width: 160px; } }

.inject-content {
  display: none; }

[inject-container] {
  width: 100%;
  max-height: 100%;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative; }
  [inject-container]:has(div.AJAXBlock) {
    min-width: 320px; }
    @media screen and (min-width: 112.5em) {
      [inject-container]:has(div.AJAXBlock) {
        min-width: 640px; } }
  [inject-container] .modal-header .close-button {
    right: 30px; }

.inject-button {
  color: #5F7B27;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .inject-button:active {
    color: #959595; }
  .inject-button.form {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 10px;
    background-color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .inject-button.form {
        margin: 0 50px 0 auto; } }
    .inject-button.form:after {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 10px;
      margin-left: 5px; }

/*
----- Modules -----
These can be used anywhere on the site header, main content & footer, these have a hard dependancy on foundation XY grid system for their positioning.
Handles the following: 
- Product / Image collections
  - Grid view
  - Slideshow view
- Varous CMS types:
  - Blog
  - News
  - Events
  - Generic CMS entries 
- EBG Information
- Backgrounds ( Currently only support just colours not images ): 
  - Row Backgrounds 
  - Module Backgrounds
*/
.row-background:first-of-type .module-background {
  margin-top: 0; }

.row-background {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center; }
  @media print, screen and (max-width: 112.49875em) {
    .row-background {
      padding-top: 0;
      padding-bottom: 0; } }
  .row-background.container-padding {
    padding: 0 10px; }
    @media screen and (min-width: 112.5em) {
      .row-background.container-padding {
        padding-top: 45px;
        padding-bottom: 45px; } }
    @media screen and (min-width: 112.5em) {
      .row-background.container-padding .module-heading {
        margin-top: -45px; } }
  .row-background .module-heading {
    border: 0px solid transparent; }
    .row-background .module-heading + .cms-module .content-container {
      padding-top: 0; }

.module-heading + .cms-module.news-module {
  margin-top: 0; }
  .module-heading + .cms-module.news-module .content-container {
    margin: 0;
    padding: 0 0 20px; }

.grid-container .module-background {
  border-radius: 0; }

.row-background {
  border-radius: 0; }

.module-background {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-position: center; }
  @media screen and (min-width: 112.5em) {
    .module-background.module-padding {
      padding-top: 30px;
      padding-bottom: 30px; } }
  .module-background.module-padding .module-heading {
    border: 2px solid transparent; }
    @media screen and (min-width: 112.5em) {
      .module-background.module-padding .module-heading {
        margin-top: -30px; } }
  .module-background.module-padding .content-banner {
    width: 100%;
    margin-right: 6.5%; }
    @media screen and (min-width: 112.5em) {
      .module-background.module-padding .content-banner {
        height: 375px; } }
    .module-background.module-padding .content-banner img {
      max-height: 100%; }
  .module-background.remove-margin-top {
    margin-top: 0; }
  .module-background.remove-margin-bottom {
    margin-bottom: 0; }
  .module-background.remove-margin-both {
    margin-top: 0;
    margin-bottom: 0; }

.collection {
  --media-aspect-ratio: 1/1;
  width: 100%; }
  .collection.show-colours .collection-item .image {
    padding: 3px; }
  .collection.collection-remove-gutter {
    --module-gutter: 0; }
  .collection.collection-small-gutter {
    --module-gutter: 7.5px; }
  .collection.collection-medium-gutter {
    --module-gutter: 11.53846px; }
    @media screen and (min-width: 112.5em) {
      .collection.collection-medium-gutter {
        --module-gutter: 15px; } }
  .collection.collection-large-gutter {
    --module-gutter: 38.46154px; }
    @media screen and (min-width: 112.5em) {
      .collection.collection-large-gutter {
        --module-gutter: 50px; } }
  .collection.image-grid-module, .collection.image-slideshow-module {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .collection .collection-item.ebg {
    --media-aspect-ratio: 1/1; }
  .collection .grid-margin-x > .collection-item.cell {
    width: auto; }
  .collection .grid-x {
    display: grid; }
  .collection .small-up-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .collection .small-up-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection .small-up-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection .small-up-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .collection .small-up-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .collection .small-up-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collection .small-up-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .collection .small-up-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)); }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  .collection .small-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
    max-width: 1280px;
    max-height: 1280px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
      max-width: 1800px;
      max-height: 1800px; } }
  .collection .small-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
    max-width: 630px;
    max-height: 630px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
      max-width: 644px;
      max-height: 644px; } }
  .collection .small-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
    max-width: 418px;
    max-height: 418px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
      max-width: 424px;
      max-height: 424px; } }
  .collection .small-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
    max-width: 312px;
    max-height: 312px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
      max-width: 316px;
      max-height: 316px; } }
  .collection .small-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
    max-width: 249px;
    max-height: 249px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
      max-width: 250px;
      max-height: 250px; } }
  .collection .small-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
    max-width: 205px;
    max-height: 205px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
      max-width: 207px;
      max-height: 207px; } }
  .collection .small-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
    max-width: 175px;
    max-height: 175px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
      max-width: 175px;
      max-height: 175px; } }
  .collection .small-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
    max-width: 153px;
    max-height: 153px; }
  @media screen and (min-width: 112.5em) {
    .collection .large-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
      max-width: 152px;
      max-height: 152px; } }
  .collection.show-colours .collection-item.ebg .content-container {
    background-color: #5F7B27;
    border: 1px solid transparent;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container.compact .description, .collection.show-colours .collection-item.ebg .content-container:not(.compact) .description {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container:hover {
      background-color: #ffffff;
      border-color: #5F7B27;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .collection.show-colours .collection-item.ebg .content-container:hover.compact .description, .collection.show-colours .collection-item.ebg .content-container:hover:not(.compact) .description {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .collection .content-container .image, .collection .content-container.image {
    border-radius: 0;
    /* Setting this generically for the following reasons:
            1. If collection-cell-border-radius is enabled
            2. If image scale is enabled.
            */
    overflow: hidden;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .collection .content-container:hover .image, .collection .content-container:hover.image {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  @media print, screen and (max-width: 39.99875em) {
    .collection [bx-column-count="4"] .content-container .quantity-container {
      -ms-flex-pack: distribute;
          justify-content: space-around; }
    .collection [bx-column-count="4"] .quantity-free-text-container {
      width: 100%; } }

.image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 112.5em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  .image-grid-module .grid-collection-x .collection-item.cell, .product-grid-module .grid-collection-x .collection-item.cell, .collection .grid-collection-x .collection-item.cell {
    width: unset; }

.product-grid-module .cell {
  padding-left: 0.23438rem;
  padding-right: 0.23438rem;
  margin-bottom: 20px; }

.product-grid-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-right .content-container .not-logged-in-container, .product-grid-module.multimedia-right .content-container .stockline-view-button, .product-grid-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 112.5em) {
    .product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

.product-grid-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  .product-grid-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 112.5em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  .product-grid-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .description, .product-grid-module.multimedia-right .collection-item .content-container .code, .product-grid-module.multimedia-right .collection-item .content-container .prices, .product-grid-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

.product-grid-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 112.5em) {
    .product-grid-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-left .collection-item.ebg .price {
  display: none; }

.product-grid-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 112.5em) {
    .product-grid-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .product-grid-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-left .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .description {
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-left .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

.product-grid-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.product-grid-module.multimedia-bottom .image {
  margin: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container .not-logged-in-container, .product-grid-module.minified-layout .content-container .stockline-view-button, .product-grid-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 112.5em) {
  .product-grid-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

.product-grid-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

.product-grid-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

.product-grid-module.minified-layout .image {
  width: 110px;
  margin: 0; }

.product-grid-module.minified-layout .description, .product-grid-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

.product-grid-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .product-grid-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

.product-grid-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .product-grid-module [data-content-container]:has(.read-more) {
    height: 300px; }
  .product-grid-module [data-content-container] a {
    max-height: 100%; }
  .product-grid-module [data-content-container] p {
    margin: 0;
    padding: 0; }

.product-grid-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

.product-grid-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

.product-grid-module .collection-item.ebg:active .description {
  background-color: transparent; }

.product-grid-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

.product-grid-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: transparent;
  text-transform: none;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .product-grid-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 15px 10px; }

.product-grid-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 112.5em) {
    .product-grid-module .content-container {
      width: 100%; } }
  .product-grid-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  .product-grid-module .content-container .description {
    padding: 10px 0; }
  .product-grid-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    .product-grid-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  .product-grid-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  .product-grid-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    .product-grid-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    .product-grid-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    .product-grid-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 112.5em) {
      .product-grid-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  .product-grid-module .content-container .prices + .not-logged-in-container, .product-grid-module .content-container .prices + .stockline-view-button, .product-grid-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  .product-grid-module .content-container .not-logged-in-container, .product-grid-module .content-container .stockline-view-button, .product-grid-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  .product-grid-module .content-container.minified .image {
    width: 110px; }
  .product-grid-module .content-container:hover .description, .product-grid-module .content-container:hover .read-more {
    color: #5F7B27;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #DB651B; }
  .product-grid-module .content-container.image {
    background-color: transparent; }
  .product-grid-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    .product-grid-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    .product-grid-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    .product-grid-module .content-container.product .description {
      padding: 15px 10px; }
      .product-grid-module .content-container.product .description:is(:empty) {
        padding: 0; }
  .product-grid-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.product-grid-module .collection-image-container {
  width: 100%; }

.product-grid-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 0; }
  @media screen and (min-width: 112.5em) {
    .product-grid-module .image {
      margin: 0; } }
  .product-grid-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

.product-grid-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  .product-grid-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  .product-grid-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

.product-grid-module .department-description {
  color: var(--primary-colour-lightness-0, #5F7B27);
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.product-grid-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3; }
  .product-grid-module .group-description:hover {
    color: #5F7B27;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #DB651B; }

.product-grid-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .description p {
    margin: 0;
    padding: 0; }

.product-grid-module .read-more {
  color: #484848; }

.product-grid-module .specification p {
  margin: 0;
  padding: 0; }

.product-grid-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 112.49875em) {
  .product-grid-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 112.49875em) {
  .product-grid-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.product-grid-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  .product-grid-module .prices p {
    margin: 0;
    font-weight: 700; }
  .product-grid-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    .product-grid-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .product-grid-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .product-grid-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .product-grid-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .product-grid-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .product-grid-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media screen and (min-width: 112.5em) {
        .product-grid-module .prices .price-container .value {
          text-align: right; } }
    .product-grid-module .prices .price-container.saving .label, .product-grid-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    .product-grid-module .prices .price-container.rrp .label, .product-grid-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .product-grid-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.product-grid-module .price-container .value {
  font-size: 0.875rem; }

.product-grid-module .price-container .label, .product-grid-module .price-container .value {
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

.product-grid-module .price {
  margin: 0; }
  .product-grid-module .price .currency {
    font-size: 1.625rem; }

.product-grid-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

.product-grid-module form, .product-grid-module .not-logged-in-container, .product-grid-module .stockline-view-button {
  margin: auto 0 0; }

.product-grid-module .addToBasket.icon {
  margin: 0; }

.product-grid-module .favouritesContainer {
  display: inline-block; }

.product-grid-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  .product-grid-module .quantity-container .control.select .label {
    display: none; }
  .product-grid-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

.product-grid-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-grid-module .quantity-free-text-container .label {
    display: none; }

.product-grid-module .content-container > a:first-of-type, .product-carousel-module .content-container > a:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0; }
  .product-grid-module .content-container > a:first-of-type:not(:has(img)), .product-carousel-module .content-container > a:first-of-type:not(:has(img)) {
    display: none; }

.product-carousel-module .collection-item:not(.ebg) .content-container.product, .product-grid-module .collection-item:not(.ebg) .content-container.product {
  padding-bottom: 20px;
  border-width: 0 0 5px 0;
  border-color: #dadada;
  border-style: solid;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-carousel-module .collection-item:not(.ebg) .content-container.product:hover, .product-grid-module .collection-item:not(.ebg) .content-container.product:hover {
    border-color: #5F7B27;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.image-grid-module .cell {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-bottom: 20px; }

.image-grid-module .image {
  text-align: center; }

.image-grid-module .content-container {
  margin: auto; }

.module-content-container:not([style*="background-color: transparent;"]) {
  margin: 0;
  padding: 10px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 10px; } }
  @media screen and (min-width: 112.5em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 15px; } }

.cms-module {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .cms-module h1 {
    margin: 25px 0 20px;
    font-size: 2.1875rem;
    font-weight: 600;
    font-style: normal;
    color: #5F7B27;
    line-height: 1.6;
    background-color: transparent; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 25px 0 20px;
    font-size: 2rem;
    font-weight: 600;
    font-style: normal;
    color: #5F7B27;
    line-height: 1.6; }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    margin: 25px 0 10px;
    padding: 15px 0;
    font-size: 1.5625rem;
    font-weight: 600;
    font-style: normal;
    color: #DB651B;
    line-height: 1.6; }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 25px 0 10px;
    padding: 0 0 10px;
    font-size: 1.375rem;
    font-weight: 400;
    font-style: normal;
    color: #5F7B27;
    line-height: 1.6; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 15px 0 10px;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 15px 0;
    font-size: 0.9375rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h6:first-child {
      margin-top: 0; }
    .cms-module h6:only-child {
      margin: 0; }
  .cms-module p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .cms-module p img[style*="float:left"], .cms-module p img[style*="float: left"], .cms-module p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .cms-module p img[style*="float:right"], .cms-module p img[style*="float: right"], .cms-module p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .cms-module p img {
      margin: .2em 0; }
    .cms-module p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .cms-module ul, .cms-module ol {
    text-align: left; }
  .cms-module ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .cms-module ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .cms-module ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .cms-module ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #5F7B27;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .cms-module ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .cms-module ol ol ol {
        list-style-type: lower-roman; }
        .cms-module ol ol ol ol {
          list-style-type: lower-alpha; }
          .cms-module ol ol ol ol ol {
            list-style-type: lower-roman; }
  .cms-module li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 20px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 20px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 10px; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 10px; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 10px; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 15px; }
  .cms-module dl {
    text-align: left; }
  .cms-module p:not(:empty) + table, .cms-module p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .cms-module table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .cms-module table:not([class*=preset]) thead {
      background-color: transparent; }
      .cms-module table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .cms-module table:not([class*=preset]) thead th {
        font-weight: 700; }
    .cms-module table.responsive-table {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .cms-module table.responsive-table {
          display: table; } }
      .cms-module table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 112.5em) {
          .cms-module table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .cms-module table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .cms-module table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .cms-module table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 112.5em) {
      .cms-module table td {
        padding: 10px; } }
    .cms-module table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .cms-module table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .cms-module table tbody {
      background-color: transparent; }
      .cms-module table tbody th {
        background-color: transparent; }
      .cms-module table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 112.5em) {
        .cms-module table tbody tr {
          display: table-row; } }
    .cms-module table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 112.49875em) {
      .cms-module table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 112.49875em) {
      .cms-module table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .cms-module table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .cms-module table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .cms-module blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 112.5em) {
      .cms-module blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .cms-module blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .cms-module blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .cms-module blockquote:has(img) {
      text-align: left; }
    .cms-module blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 112.5em) {
      .cms-module blockquote {
        padding: 50px 60px; } }
    .cms-module blockquote + blockquote {
      margin-top: 15px; }
    .cms-module blockquote:before, .cms-module blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .cms-module blockquote:before {
      top: 0;
      left: 0; }
    .cms-module blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .cms-module blockquote img {
      float: left; }
      @media screen and (min-width: 112.5em) {
        .cms-module blockquote img {
          text-align: left; } }
  .cms-module div.gallary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 10px 0 20px; }
    .cms-module div.gallary.cell-gutters {
      gap: 10px; }
    .cms-module div.gallary > img {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .cms-module div.gallary a {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      .cms-module div.gallary a img {
        width: 100%; }
  .cms-module iframe[src*="https://www.youtube.com/"] {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    border-radius: 0; }
  .cms-module code {
    max-height: 500px;
    position: relative;
    padding: 10px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 40px;
    background-color: #f3f3f3;
    border: 1px solid #959595;
    font-size: 0.9375rem;
    line-height: 40px;
    text-align: left;
    white-space: pre-wrap;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .cms-module code {
        padding: 10px 35px; } }
    .cms-module code:hover {
      border-color: #484848;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
    .cms-module code .code-copy-button-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: calc(100% - 15px);
      white-space: normal; }
    .cms-module code .code-copy-button {
      position: absolute;
      top: 0;
      padding: 8px;
      display: block;
      background-color: #959595;
      -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
      transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
      .cms-module code .code-copy-button:before {
        content: "";
        font-family: "Font Awesome Regular";
        font-size: 14px;
        color: #ffffff;
        -webkit-transition: color 0.8s, font-size 0.8s;
        transition: color 0.8s, font-size 0.8s; }
      .cms-module code .code-copy-button:hover {
        background-color: #5F7B27;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .cms-module code .code-copy-button.active, .cms-module code .code-copy-button:active {
        background-color: #5F7B27; }
        .cms-module code .code-copy-button.active:before, .cms-module code .code-copy-button:active:before {
          font-family: "Font Awesome Solid"; }
      .cms-module code .code-copy-button.active {
        padding: 12px;
        opacity: .4;
        -webkit-transition: padding 0.6s, opacity 0.6s;
        transition: padding 0.6s, opacity 0.6s; }
        .cms-module code .code-copy-button.active:before {
          font-size: 16px;
          -webkit-transition: font-size 0.6s;
          transition: font-size 0.6s; }
  @media screen and (min-width: 112.5em) {
    .cms-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-module a:hover h2 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline;
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline; }
  .cms-module h2 {
    line-height: 1.2; }
  .cms-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .cms-module .content-container .content-heading {
      width: 100%;
      display: block; }
  .cms-module.events-module {
    gap: 25px;
    padding: 20px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.events-module {
        display: grid;
        /** Work out the column width, this was originally designed for a 2 column layout which goes down to a single column in the following situations
            - In mobile
            - When the module container is no longer wide enough to show to columns with a width of the calculated column width bellow.
            **/
        grid-template-columns: repeat(auto-fit, minmax(-webkit-min-content, 810px));
        grid-template-columns: repeat(auto-fit, minmax(min-content, 810px));
        padding: 40px;
        gap: 50px; } }
    .cms-module.events-module h3 {
      margin: 0 0 20px;
      padding: 0; }
      @media screen and (min-width: 112.5em) {
        .cms-module.events-module h3 {
          margin: 0 0 40px; } }
    .cms-module.events-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .cms-module.events-module .content-banner {
      width: 100%;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media screen and (min-width: 112.5em) {
        .cms-module.events-module .content-banner {
          height: 550px; } }
      @media screen and (min-width: 112.5em) {
        .cms-module.events-module .content-banner img {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center; } }
    .cms-module.events-module .read-more-content p {
      font-size: 0.9375rem;
      font-weight: 400; }
  .cms-module.blog-module {
    margin-right: 0;
    margin-left: 0;
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      .cms-module.blog-module {
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 112.5em) {
      .cms-module.blog-module:has(.content-banner) .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; }
        .cms-module.blog-module:has(.content-banner) .content-container .read-more {
          max-height: unset; }
          .cms-module.blog-module:has(.content-banner) .content-container .read-more .read-more-content {
            max-height: unset; } }
    .cms-module.blog-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 50px 10px; }
      @media screen and (min-width: 112.5em) {
        .cms-module.blog-module .content-container {
          padding: 50px 7.5%; } }
      .cms-module.blog-module .content-container .read-more {
        max-height: 300px; }
        .cms-module.blog-module .content-container .read-more .read-more-content {
          max-height: 300px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.blog-module .content-banner {
        height: 475px;
        margin-left: auto; } }
    @media screen and (min-width: 112.5em) {
      .cms-module.blog-module .content-banner img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        border-radius: 0 0 0 0; } }
    .cms-module.blog-module .read-more-content p {
      font-size: 0.9375rem;
      font-weight: 400; }
  @media screen and (min-width: 112.5em) {
    .cms-module.news-module:has(.content-banner) .content-container {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  .cms-module.news-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.news-module .content-container {
        margin-bottom: 0; } }
  .cms-module.news-module .content-banner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 112.5em) {
      .cms-module.news-module .content-banner {
        height: 375px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 112.5em) {
      .cms-module.news-module .content-banner img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; } }
    .cms-module.news-module .content-banner .image {
      width: 90%; }
      @media screen and (min-width: 112.5em) {
        .cms-module.news-module .content-banner .image {
          text-align: right; } }
  .cms-module.news-module .read-more-content p {
    font-size: 0.9375rem;
    font-weight: 400; }
  .cms-module.news-module h3 {
    margin: 0 0 15px;
    padding: 0; }
  .cms-module.entry-module {
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module {
        padding-right: 50px;
        padding-left: 50px; } }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module {
        gap: 40px; } }
    .cms-module.entry-module.text-align-left {
      text-align: left; }
      .cms-module.entry-module.text-align-left .read-more-button {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    .cms-module.entry-module.text-align-right {
      text-align: right; }
      .cms-module.entry-module.text-align-right .read-more-button {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
    .cms-module.entry-module.text-align-center {
      text-align: center; }
      .cms-module.entry-module.text-align-center .read-more-button {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .cms-module.entry-module.multimedia-top {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; }
      .cms-module.entry-module.multimedia-top .content-container, .cms-module.entry-module.multimedia-top.has-image .content-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      .cms-module.entry-module.multimedia-top .read-more {
        max-height: 250px; }
    .cms-module.entry-module.multimedia-right {
      text-align: left; }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-right:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-right .content-container {
          padding: 10px 0; } }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-right .content-banner {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media print, screen and (max-width: 112.49875em) {
        .cms-module.entry-module.multimedia-right .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-right .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module.multimedia-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .cms-module.entry-module.multimedia-bottom .content-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
    .cms-module.entry-module.multimedia-bottom .read-more {
      max-height: 250px; }
    .cms-module.entry-module.multimedia-left {
      text-align: left; }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-left {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; } }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-left:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      .cms-module.entry-module.multimedia-left .content-container .image {
        width: auto; }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.multimedia-left .content-container {
          padding: 10px 0; } }
      @media print, screen and (max-width: 112.49875em) {
        .cms-module.entry-module.multimedia-left .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-left .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module.layout-style {
        padding: 50px; } }
    .cms-module.entry-module.layout-style .content-banner {
      height: unset; }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module.compact .content-container {
        padding-right: 40px; } }
    .cms-module.entry-module.compact .content-container ul {
      padding: 0; }
    .cms-module.entry-module.compact .content-banner {
      height: 375px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.entry-module.right-aligned:has(.content-banner) .content-container, .cms-module.entry-module.left-aligned:has(.content-banner) .content-container, .cms-module.entry-module.compact:has(.content-banner) .content-container {
        width: 50%; } }
    .cms-module.entry-module.right-aligned .content-banner, .cms-module.entry-module.left-aligned .content-banner, .cms-module.entry-module.compact .content-banner {
      height: 380px;
      margin: auto; }
      @media screen and (min-width: 112.5em) {
        .cms-module.entry-module.right-aligned .content-banner img, .cms-module.entry-module.left-aligned .content-banner img, .cms-module.entry-module.compact .content-banner img {
          -o-object-fit: cover;
             object-fit: cover; } }
    .cms-module.entry-module .read-more-button {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .cms-module.right-aligned, .cms-module.left-aligned {
    text-align: left; }
    .cms-module.right-aligned .content-heading, .cms-module.left-aligned .content-heading {
      width: 100%;
      display: block; }
    .cms-module.right-aligned .content-container, .cms-module.left-aligned .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .cms-module.right-aligned .cms-content, .cms-module.left-aligned .cms-content {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 60%;
              flex: 0 0 60%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
  .cms-module.right-aligned .content-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media screen and (min-width: 112.5em) {
      .cms-module.right-aligned .content-container {
        padding-left: 40px; } }
  .cms-module.right-aligned .content-banner {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.right-aligned .content-banner {
        margin-bottom: 0; } }
  @media screen and (min-width: 112.5em) {
    .cms-module.left-aligned .content-container {
      padding-right: 40px; } }
  .cms-module.left-aligned .content-container + .content-banner {
    margin-top: 20px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.left-aligned .content-container + .content-banner {
        margin-top: 0; } }
  .cms-module.column .content-container {
    text-align: center; }
  .cms-module.column .content-banner {
    max-width: 1080px;
    width: 100%;
    margin: 40px auto 60px; }
    .cms-module.column .content-banner img {
      max-height: 470px; }
  @media screen and (min-width: 112.5em) {
    .cms-module.column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cms-module.column-invert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 40px; }
    .cms-module.column-invert .content-banner {
      max-width: 540px;
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 0; }
      @media screen and (min-width: 112.5em) {
        .cms-module.column-invert .content-banner {
          height: 390px; } }
  .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media screen and (min-width: 112.5em) {
      .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
  .cms-module:not(.left-aligned).has-image .content-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .cms-module:not(.left-aligned).column-invert .content-banner {
    margin: 0 auto 30px; }
  .cms-module:not(.left-aligned) .content-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .cms-module .content-banner {
    height: 100%;
    position: relative; }
    .cms-module .content-banner .image {
      height: 100%;
      width: 100%;
      text-align: center;
      place-content: normal; }
    .cms-module .content-banner img {
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: top left;
         object-position: top left; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .cms-module .content-banner img {
          height: auto; } }
  .cms-module .read-more {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden; }
  .cms-module .module-navigation {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: auto; }
  .cms-module .read-more-button {
    line-height: 1; }
  .cms-module .blog-button, .cms-module .news-button, .cms-module .events-button {
    margin-left: auto;
    line-height: 1; }

.row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
  width: 590px; }
  @media screen and (min-width: 112.5em) {
    .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
      height: 370px; } }
  .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner img {
    max-height: 375px; }

.row-background {
  position: relative; }
  .row-background:not([style*="background-color: transparent;"]) {
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (min-width: 112.5em) {
      .row-background:not([style*="background-color: transparent;"]) {
        padding-top: 15px;
        padding-bottom: 15px; } }
    .row-background:not([style*="background-color: transparent;"]) .module-background {
      margin-top: 0;
      margin-bottom: 0; }
  .row-background.remove-padding-top {
    padding-top: 0; }
    @media screen and (min-width: 112.5em) {
      .row-background.remove-padding-top {
        padding-top: 0; } }
  .row-background.remove-padding-bottom {
    padding-bottom: 0; }
    @media screen and (min-width: 112.5em) {
      .row-background.remove-padding-bottom {
        padding-bottom: 0; } }
  .row-background.remove-padding-both {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 112.5em) {
      .row-background.remove-padding-both {
        padding-top: 0;
        padding-bottom: 0; } }
  .row-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.module-background {
  width: 100%;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    .module-background {
      margin-top: 15px;
      margin-bottom: 15px; } }
  .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
    padding-top: 20px;
    padding-bottom: 20px; }
    @media screen and (min-width: 112.5em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 45px;
        padding-bottom: 45px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 112.5em) {
      .module-background[style*="background-color: transparent;"] .news-module {
        margin-right: 40px;
        margin-left: 25px; } }
  .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
    padding: 10px; }
    @media print, screen and (min-width: 40em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 10px; } }
    @media screen and (min-width: 112.5em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 15px; } }
    .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
      padding-top: 20px;
      padding-bottom: 20px; }
      @media screen and (min-width: 112.5em) {
        .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
          padding-top: 45px;
          padding-bottom: 45px; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 25px; }
      @media screen and (min-width: 112.5em) {
        .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
          margin: 40px; } }
    .module-background:not([style*="background-color: transparent;"]) .content-container:hover, .module-background.has-background-image .content-container:hover {
      -webkit-box-shadow: unset;
              box-shadow: unset; }
  .module-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }
  .module-background .module-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.product-carousel-module.carousel-padding {
  padding: 0 0 50px; }

.cms-subsidiary-module .series-card {
  max-width: 100%;
  width: 100%;
  padding: 18px;
  border: 1px solid #dadada;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .cms-subsidiary-module .series-card:hover {
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-subsidiary-module .series-card > a {
    font-size: rem-cal(22);
    font-weight: 600;
    color: #5F7B27;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-subsidiary-module .series-card ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cms-subsidiary-module .series-card ul li:hover > a {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 0.9375rem;
      color: #484848;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.ebg-information-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 112.5em) {
    .ebg-information-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .ebg-information-module .group-full-description {
    width: 100%; }
  @media screen and (min-width: 112.5em) {
    .ebg-information-module .group-notes {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  .ebg-information-module .group-notes.active .read-more-content {
    max-height: inherit; }
  .ebg-information-module .group-notes p {
    padding: 0;
    font-weight: 400;
    font-size: 1rem; }
    @media screen and (min-width: 112.5em) {
      .ebg-information-module .group-notes p {
        margin: 0; } }
  .ebg-information-module .group-notes .read-more-content {
    max-height: 200px; }
    @media screen and (min-width: 112.5em) {
      .ebg-information-module .group-notes .read-more-content {
        max-height: unset; } }
  .ebg-information-module .group-image {
    width: 100%;
    padding: 20px 0 0;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .ebg-information-module .group-image {
        max-width: 30%;
        display: inline-block;
        margin-left: 20px;
        padding: 0;
        text-align: right; } }

.page-heading-module {
  margin: 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    .page-heading-module {
      margin: 0 0 10px; } }
  .page-heading-module h1 {
    margin-bottom: 0; }
  .page-heading-module .cms-container {
    margin-bottom: 0; }

.module-config {
  margin-bottom: 10px;
  padding: 15px 10px;
  background-color: #eeeeee; }
  .module-config li, .module-config strong, .module-config h3 {
    color: #484848; }
  .module-config li, .module-config strong {
    font-size: 0.9375rem; }
  .module-config li strong {
    padding-right: 10px; }
    .module-config li strong:after {
      content: ':';
      display: inline-block;
      color: #484848; }
  .module-config h3 {
    position: relative;
    text-transform: uppercase;
    text-align: center; }
    .module-config h3:after {
      content: '';
      width: 80%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #484848; }

.module-content-container.effect-style {
  --border-radius-small: 1px;
  --border-radius-medium: 5px;
  --border-radius-large: 25%;
  --border-radius-xlarge: 50%;
  --border-width-thin: 1px;
  --border-width-light: 2px;
  --border-width-medium: 5px;
  --border-width-bold: 10px;
  --image-reduce-small: .95;
  --image-reduce-medium: .80;
  --image-reduce-large: .60; }
  .module-content-container.effect-style .content-container {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .module-content-container.effect-style .content-container:hover {
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }

.collection.module-content-container.image-border .content-container.image, .collection.module-content-container.image-border .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff); }

.collection.module-content-container.image-radius-animation .content-container.image, .collection.module-content-container.image-radius-animation .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff);
  border-radius: var(--border-radius, 50%);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
  overflow: hidden;
  -webkit-transition: border-radius 0.8s;
  transition: border-radius 0.8s; }
  .collection.module-content-container.image-radius-animation .content-container.image:before, .collection.module-content-container.image-radius-animation .content-container .image:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    border-radius: var(--border-radius, 50%);
    -webkit-box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: border-radius 0.8s;
    transition: border-radius 0.8s; }

.collection.module-content-container.image-radius-animation .content-container:hover .image {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container:hover .image:before {
    border-radius: calc(var(--border-radius, 50%) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.image-radius-animation .content-container.image:hover {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container.image:hover:before {
    border-radius: calc((var(--border-radius, 50%)) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.invert-cell-shadow .collection-item .content-container {
  border: 2px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover {
    border-color: #eeeeee;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover .image {
      opacity: 1; }

.collection.module-content-container.reduce-image-hover .content-container:hover {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.collection.module-content-container.reduce-image-hover .content-container.image:hover, .collection.module-content-container.reduce-image-hover .content-container:hover .image {
  opacity: 1; }
  .collection.module-content-container.reduce-image-hover .content-container.image:hover img, .collection.module-content-container.reduce-image-hover .content-container:hover .image img {
    -webkit-transform: scale(var(--reduce-image, 0.95));
            transform: scale(var(--reduce-image, 0.95));
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }

.collection.module-content-container.reduce-image-hover .content-container .image img, .collection.module-content-container.reduce-image-hover .image img {
  border-radius: 0;
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s; }

.collection.module-content-container.cell-border-default .collection-item .content-container {
  border: 1px solid #eeeeee; }
  .collection.module-content-container.cell-border-default .collection-item .content-container:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #5F7B27; }

.collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container {
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.cms-module.effect-style.module-content-container.module-borders {
  padding: 20px 0 0;
  border: var(--border-width) solid var(--border-colour); }
  @media screen and (min-width: 112.5em) {
    .cms-module.effect-style.module-content-container.module-borders {
      padding-top: 0; } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-top .content-banner {
    border-bottom: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 112.5em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
        border-top: 0;
        border-left: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-bottom .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 112.5em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
        border-top: 0;
        border-right: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders .content-container {
    padding-right: 20px;
    padding-left: 20px; }
    @media screen and (min-width: 112.5em) {
      .cms-module.effect-style.module-content-container.module-borders .content-container {
        padding: 80px 100px; } }

.animation-module {
  --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .animation-module [data-animation] {
    aspect-ratio: var(--media-aspect-ratio); }

/*
----- Stock Indiciator(s) -----
Handles the following: 
- Instock, Out of stock & Low stock icons.
- Email when back in stock
*/
.stock-indicator.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }
  .stock-indicator.preset1 p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0 5px 0 0;
    font-size: 0.875rem;
    font-weight: 400; }
    .stock-indicator.preset1 p:before {
      padding: 0 10px 0 0; }
  .stock-indicator.preset1 a {
    width: 100%;
    height: 100%;
    cursor: pointer; }
  .stock-indicator.preset1 .stockLevel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 600; }

.stock-indicator.preset2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .stock-indicator.preset2.soh-2 a:hover, .stock-indicator.preset2.soh-1 a:hover, .stock-indicator.preset2.soh-0 a:hover {
    text-decoration: none; }
  .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 span {
    display: inline-block; }
  .stock-indicator.preset2.soh-2 > p, .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 .label, .stock-indicator.preset2.soh-1 > p, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 .label, .stock-indicator.preset2.soh-0 > p, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 .label {
    margin: 0 5px 0 0;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 400;
    color: #000000; }
    .stock-indicator.preset2.soh-2 > p:before, .stock-indicator.preset2.soh-2 p:before, .stock-indicator.preset2.soh-2 .label:before, .stock-indicator.preset2.soh-1 > p:before, .stock-indicator.preset2.soh-1 p:before, .stock-indicator.preset2.soh-1 .label:before, .stock-indicator.preset2.soh-0 > p:before, .stock-indicator.preset2.soh-0 p:before, .stock-indicator.preset2.soh-0 .label:before {
      padding: 0 5px 0 0; }
  .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 span {
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 p:before, .stock-indicator.soh-2 .label:before, .stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 p:before, .stock-indicator.soh-1 .label:before, .stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 p:before, .stock-indicator.soh-0 .label:before {
  display: inline-block;
  font-family: "Font Awesome Solid";
  font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 .label:before {
  content: "";
  color: #7a8e52;
  font-size: 16px; }

.stock-indicator.soh-2 span {
  color: #7a8e52; }

.stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 .label:before {
  content: "";
  color: #c09018;
  font-size: 16px; }

.stock-indicator.soh-1 span {
  color: #c09018; }

.stock-indicator.soh-1 .stockLevel {
  color: #5F7B27; }

.stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 .label:before {
  content: "";
  color: #ff0101;
  font-size: 16px; }

.stock-indicator.soh-0 .stockLevel {
  color: #ff0101; }

.stock-indicator.notification:hover .stock-notification-icon:after {
  color: #DB651B; }

.stock-indicator.notification.active .stock-notification-icon:after {
  color: #5F7B27; }

.stock-indicator.notification .stock-notification-icon:after {
  content: "";
  margin-left: 15px;
  color: #ff0101;
  font-family: "Font Awesome Regular";
  font-size: 16px; }

.stock-indicator.notification:not(.active):hover .stock-notification-icon:after {
  content: ""; }

.stock-indicator.notification.active:hover {
  cursor: no-drop; }

.stock-indicator.notification.active .stock-notification-icon:after {
  font-family: "Font Awesome Solid";
  color: #5F7B27; }

.stock-indicator [data-tooltip] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.stock-indicator .label {
  text-align: left; }

.collection-only-indicator {
  color: #000000;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400; }
  .collection-only-indicator:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-size: 24px;
    font-family: "fontello"; }

#stockNotificationDetails {
  position: relative; }
  @media print, screen and (max-width: 112.49875em) {
    #stockNotificationDetails {
      top: 10vw !important; } }
  #stockNotificationDetails .cmsContainer {
    padding: 0 10px 20px;
    font-size: 0.9375rem; }

#notificationFormContainer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block; }
  @media screen and (min-width: 112.5em) {
    #notificationFormContainer {
      top: 0;
      bottom: 0; } }

#notificationDetailsForm {
  max-width: 85vw;
  width: 100%;
  position: relative;
  margin: auto;
  padding: 30px 20px;
  background-color: #ffffff; }
  @media screen and (min-width: 112.5em) {
    #notificationDetailsForm {
      max-width: 30vw; } }
  #notificationDetailsForm #notificationDetailsFormSubmit {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #5F7B27;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #5F7B27;
      background-color: rgba(95, 123, 39, 0.5);
      color: #5F7B27;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #notificationDetailsForm .close-button {
    width: 45px;
    height: 45px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    #notificationDetailsForm .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #eeeeee;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

[data-stock-indicator-update] {
  display: none; }

.product-enquiry-details-container {
  width: 100%;
  display: grid;
  gap: 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-details-container {
      grid-auto-columns: auto;
      grid-template-columns: minmax(calc(30% - 7.5px), 1fr) minmax(calc(70% - 7.5px), 1fr);
      gap: 15px;
      margin-bottom: 55px; } }
  @media screen and (min-width: 112.5em) {
    .product-enquiry-details-container {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px; } }
  .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px 0; }
    @media screen and (min-width: 112.5em) {
      .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
        gap: 10px 0; } }
    .product-enquiry-details-container .product-enquiry-details-right .callbackContainer, .product-enquiry-details-container .product-enquiry-details-response-area .callbackContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
  .product-enquiry-details-container .product-enquiry-module {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 15px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-details-container .product-enquiry-module {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px 25px; } }
    @media screen and (min-width: 112.5em) {
      .product-enquiry-details-container .product-enquiry-module {
        gap: 10px 30px; } }
    .product-enquiry-details-container .product-enquiry-module:not(:has(*)) {
      display: none; }
    .product-enquiry-details-container .product-enquiry-module hr {
      width: 100%;
      border-top: 1px solid #dadada;
      border-bottom: 0; }
  .product-enquiry-details-container .reveal-social-icons-container .share-button {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    .product-enquiry-details-container .reveal-social-icons-container .share-button:after {
      font-size: 17px; }

.product-enquiry-heading-container .product-enquiry-heading {
  margin: 0;
  padding: 0;
  color: #5F7B27;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 34px;
  text-transform: none; }

.product-enquiry-selection-container {
  width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .product-enquiry-selection-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 10px 15px; } }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-selection-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 25px; } }
  @media screen and (min-width: 112.5em) {
    .product-enquiry-selection-container {
      gap: 10px 30px; } }

.quantity-module, .product-enquiry-quantity-selector {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .quantity-module .label, .product-enquiry-quantity-selector .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 112.5em) {
      .quantity-module .label, .product-enquiry-quantity-selector .label {
        margin-right: 15px; } }
  .quantity-module .select, .product-enquiry-quantity-selector .select {
    width: unset; }
    .quantity-module .select .control-select-container, .product-enquiry-quantity-selector .select .control-select-container {
      min-width: unset; }

#main-product-information-container {
  padding: 20px 5px 0; }
  @media screen and (min-width: 112.5em) {
    #main-product-information-container {
      padding: 40px 0 0; } }

#productImage, .product-enquiry-main-multimedia-container {
  margin: 0 0 20px;
  text-align: center;
  position: relative; }
  @media screen and (min-width: 112.5em) {
    #productImage, .product-enquiry-main-multimedia-container {
      margin: 0 auto;
      text-align: inherit; } }
  #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
    margin: auto; }
    @media screen and (min-width: 112.5em) {
      #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
        width: 375px; } }
  #productImage .additionalImageSliderContainer, .product-enquiry-main-multimedia-container .additionalImageSliderContainer {
    margin: auto; }
    #productImage .additionalImageSliderContainer .slide.active .thumbnail, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .slide.active .thumbnail {
      border: 1px solid #8c8e8a; }
    @media screen and (min-width: 112.5em) {
      #productImage .additionalImageSliderContainer .bx-prev,
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev,
      .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        -webkit-box-shadow: none;
                box-shadow: none;
        width: 30px;
        height: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before,
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before,
        .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          width: 20px;
          height: 20px;
          position: absolute;
          top: 0;
          bottom: 0;
          font-family: "Font Awesome Solid";
          font-size: 26px;
          color: #5F7B27;
          display: inline-block;
          margin: auto;
          border: 0;
          border-width: 0; } }
    @media screen and (min-width: 112.5em) {
      #productImage .additionalImageSliderContainer .bx-prev, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev {
        right: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before {
          right: 15px;
          -webkit-transform: rotate(270deg);
                  transform: rotate(270deg); } }
    @media screen and (min-width: 112.5em) {
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        left: 21px; }
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          left: 10px;
          -webkit-transform: rotate(-270deg);
                  transform: rotate(-270deg); } }

#mainImageContainer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 20px;
  overflow: hidden; }
  #mainImageContainer:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #mainImageContainer .overlay {
    opacity: 1;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  #mainImageContainer.image-360 {
    position: relative; }
    #mainImageContainer.image-360:hover:after {
      display: none; }
    #mainImageContainer.image-360:after {
      content: '';
      max-width: 90px;
      max-height: 90px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }
  #mainImageContainer img {
    max-height: 550px;
    margin: 0 auto; }

.product-enquiry-main-image, #mainImageContainer.product-enquiry-main-image {
  --media-aspect-ratio: 1/1;
  margin: 0 auto;
  border: 1px solid #dadada;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-enquiry-main-image:hover, #mainImageContainer.product-enquiry-main-image:hover {
    border-color: #5F7B27;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .product-enquiry-main-image img, #mainImageContainer.product-enquiry-main-image img {
    min-width: 300px;
    max-height: none;
    min-height: 300px; }
  .product-enquiry-main-image + .product-enquiry-additional-images:has(img), #mainImageContainer.product-enquiry-main-image + .product-enquiry-additional-images:has(img) {
    margin: 20px auto 0; }

.product-overlay-module {
  margin: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media print, screen and (max-width: 112.49875em) {
    .product-overlay-module {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 112.5em) {
    .product-overlay-module {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0; } }
  .product-overlay-module > a {
    display: block;
    text-align: center;
    margin: 10px auto; }
    @media screen and (min-width: 112.5em) {
      .product-overlay-module > a {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(33% - 15px);
                flex: 0 1 calc(33% - 15px);
        margin: 10px 12px; }
        .product-overlay-module > a:nth-child(3n) {
          margin-right: 0; }
        .product-overlay-module > a:nth-child(3n + 1) {
          margin-left: 0; }
        .product-overlay-module > a:last-child {
          margin-right: 0; } }

.product-enquiry-highlighted-banners {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin: 5px 0 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (min-width: 112.5em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(5, 1fr);
      gap: 5px;
      margin: 10px 0 15px; } }

.part-code-container span {
  padding-right: 5px; }

.part-code-container, .product-enquiry-reference-container {
  margin-bottom: 40px;
  font-size: 0.9375rem;
  color: #000000; }
  .part-code-container p, .product-enquiry-reference-container p {
    margin: 0;
    padding: 0; }
  .part-code-container span, .product-enquiry-reference-container span {
    font-weight: 700; }

.product-enquiry-reference-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 10px 0;
  gap: 10px 25px;
  border-bottom: 1px solid #dadada; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-reference-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 20px 0; } }

.product-enquiry-label-value-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-label-value-pair {
      gap: 5px 10px; } }
  .product-enquiry-label-value-pair .label {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
  .product-enquiry-label-value-pair .value {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 400; }
  .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 5px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
        gap: 5px 10px; } }

#product #product-info-left h1 {
  margin: 0 0 20px;
  padding-right: 50px;
  color: #5F7B27;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 34px;
  text-transform: none; }

#product .slide .label {
  display: none; }

#product .addButtonContainer {
  width: 100%;
  margin: 10px 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

#product #product-notes {
  margin: 20px 0 0; }
  @media screen and (min-width: 112.5em) {
    #product #product-notes {
      margin: 0 0 40px; } }
  #product #product-notes h3 {
    font-weight: 700;
    font-size: 1.125rem;
    color: #000000;
    text-transform: uppercase; }
  #product #product-notes p, #product #product-notes li {
    font-size: 1rem;
    font-weight: 400;
    line-height: 25px;
    color: #000000; }
  #product #product-notes .product-read-more {
    height: 14vh;
    overflow: hidden; }
  #product #product-notes .tabbed-read-more {
    font-weight: 700; }
    #product #product-notes .tabbed-read-more:hover {
      text-decoration: underline; }

#product #alternative-options {
  width: 100%; }
  @media screen and (min-width: 112.5em) {
    #product #alternative-options {
      margin-bottom: 30px; } }
  #product #alternative-options h3 {
    margin-bottom: 40px;
    font-size: 0.9375rem;
    line-height: 1; }
  #product #alternative-options .carousel {
    width: 100%; }

.product-enquiry-basket-button-container {
  width: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-basket-button-container {
      margin: 10px 0; } }

.hazard-statement-container {
  margin-bottom: 20px;
  border: 1px solid #000000;
  border-radius: 0; }
  .hazard-statement-container .hazard-icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin: 15px 0 10px; }
    .hazard-statement-container .hazard-icons-container + .hazard-info-container {
      border-top: 1px solid #dadada; }
  .hazard-statement-container .hazard-icon {
    width: 75px;
    height: 75px;
    background-size: 100%; }
    .hazard-statement-container .hazard-icon.haz-cat-toxic {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-acute-toxicity-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-gas {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-compressed-gas-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-corrosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-corrosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-environment {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-environmental-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-explosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-explosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-flammable {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-flammable-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-ozone {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-harmful-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-oxidising {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-oxidising-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-health {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-serious-health-icon.svg"); }
  .hazard-statement-container .hazard-info-container {
    padding: 10px 0 20px; }
    .hazard-statement-container .hazard-info-container h4 {
      margin: 0 0 15px;
      padding: 0;
      font-size: 1rem;
      font-weight: 700; }
    .hazard-statement-container .hazard-info-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      color: #000000; }
      .hazard-statement-container .hazard-info-container p img[style*="float:left"], .hazard-statement-container .hazard-info-container p img[style*="float: left"], .hazard-statement-container .hazard-info-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .hazard-statement-container .hazard-info-container p img[style*="float:right"], .hazard-statement-container .hazard-info-container p img[style*="float: right"], .hazard-statement-container .hazard-info-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .hazard-statement-container .hazard-info-container p img {
        margin: .2em 0; }
      .hazard-statement-container .hazard-info-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
  .hazard-statement-container .hazard-icons-container, .hazard-statement-container .hazard-info-container {
    margin-right: 20px;
    margin-left: 20px; }

.product-enquiry-multi-line-container {
  width: 100%; }
  .product-enquiry-multi-line-container .multi-line-heading {
    margin: 0 0 10px; }
    .product-enquiry-multi-line-container .multi-line-heading h2, .product-enquiry-multi-line-container .multi-line-heading h3, .product-enquiry-multi-line-container .multi-line-heading h4 {
      font-size: 0.875rem;
      font-weight: 700;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      color: #000000; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .product-enquiry-multi-line-container .multi-line-content ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #5F7B27;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .product-enquiry-multi-line-container .multi-line-content ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .product-enquiry-multi-line-container .multi-line-content ol ol ol {
        list-style-type: lower-roman; }
        .product-enquiry-multi-line-container .multi-line-content ol ol ol ol {
          list-style-type: lower-alpha; }
          .product-enquiry-multi-line-container .multi-line-content ol ol ol ol ol {
            list-style-type: lower-roman; }
  .product-enquiry-multi-line-container .multi-line-content li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h2, .product-enquiry-multi-line-container .multi-line-content ol + h2 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h3, .product-enquiry-multi-line-container .multi-line-content ol + h3 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 15px; }
  .product-enquiry-multi-line-container .multi-line-content dl {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    padding-left: 0; }
  .product-enquiry-multi-line-container .multi-line-content p, .product-enquiry-multi-line-container .multi-line-content li {
    margin: 0;
    padding: 0;
    font-size: 0.9375rem;
    color: #000000; }
  .product-enquiry-multi-line-container.product-notes {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dadada; }
    .product-enquiry-multi-line-container.product-notes .read-more:not(:has(.read-more-content)) {
      max-height: 100px; }

#split-specification ul {
  list-style: none;
  line-height: 25px;
  padding-left: 0; }
  #split-specification ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #split-specification ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #5F7B27;
      border-radius: 5px; }

#split-specification li {
  margin: 5px 0; }

#split-specification li, #split-specification p, #split-specification a, #split-specification span {
  color: #000000;
  font-size: 1rem;
  font-weight: 400;
  line-height: 25px; }

.split-specification {
  padding: 20px 0; }

@media print, screen and (max-width: 112.49875em) {
  #product-price-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#product-price-container .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #product-price-container .prices .price-container {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      #product-price-container .prices .price-container {
        margin-right: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

@media screen and (min-width: 112.5em) {
  #product-price-container .rrp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 112.5em) {
  #product-price-container .pack-price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media screen and (min-width: 112.5em) {
  #product-price-container .pack-size {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; } }

@media screen and (min-width: 112.5em) {
  #product-price-container .pack-item-price {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 112.5em) {
  #product-price-container .saving {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; } }

#product-price-container .price .label:empty + .value {
  margin-left: 0; }

@media screen and (min-width: 112.5em) {
  #product-price-container .price {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; } }

#product-price-container .price .value {
  font-size: 1.75rem; }

.optional-extras-container {
  padding: 10px 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dadada; }
  .optional-extras-container table {
    margin-bottom: 0; }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table tr:not(:has(.image-col)) .description-col {
        width: 400px; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table tr:not(:has(.image-col)) .code-col {
        width: 125px; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table tr:not(:has(.image-col)) .price-col {
        width: 80px; } }
    .optional-extras-container table tr:not(:has(.image-col)) td.description-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      text-align: left; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .image {
        width: 100px;
        display: block;
        margin-right: 20px; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin: 10px 0 0; }
        @media screen and (min-width: 112.5em) {
          .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
            margin: 0; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table td.description-col {
        width: 280px; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table .code-col {
        width: 100px; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table .price-col {
        width: 80px; } }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container table .add-col {
        width: 80px; } }
    .optional-extras-container table th.description-col {
      padding-left: 10px; }
  .optional-extras-container .description-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
    gap: 10px; }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container .description-container {
        padding-left: 15px; } }
    .optional-extras-container .description-container .description {
      line-height: 1.3;
      font-weight: 700;
      color: #484848;
      font-size: 0.9375rem; }
  .optional-extras-container td.code-col {
    font-size: 0.9375rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      .optional-extras-container .image-col {
        width: 110px; } }
  .optional-extras-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block; }
  .optional-extras-container .intro-container {
    padding: 20px 5px; }
    .optional-extras-container .intro-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      color: #000000; }
      .optional-extras-container .intro-container p img[style*="float:left"], .optional-extras-container .intro-container p img[style*="float: left"], .optional-extras-container .intro-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .optional-extras-container .intro-container p img[style*="float:right"], .optional-extras-container .intro-container p img[style*="float: right"], .optional-extras-container .intro-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .optional-extras-container .intro-container p img {
        margin: .2em 0; }
      .optional-extras-container .intro-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .optional-extras-container .intro-container ul, .optional-extras-container .intro-container ol {
      text-align: left; }
    .optional-extras-container .intro-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .optional-extras-container .intro-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .optional-extras-container .intro-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .optional-extras-container .intro-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #5F7B27;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .optional-extras-container .intro-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .optional-extras-container .intro-container ol ol ol {
          list-style-type: lower-roman; }
          .optional-extras-container .intro-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .optional-extras-container .intro-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .optional-extras-container .intro-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h2, .optional-extras-container .intro-container ol + h2 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h3, .optional-extras-container .intro-container ol + h3 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 15px; }
    .optional-extras-container .intro-container dl {
      text-align: left; }
    @media print, screen and (min-width: 40em) {
      .optional-extras-container .intro-container {
        text-align: center; } }
  .optional-extras-container .cms-content-container {
    text-align: left; }

#product-case-pricing, #product-price-container {
  margin: 0 0 5px; }
  @media screen and (min-width: 112.5em) {
    #product-case-pricing, #product-price-container {
      margin: 0 0 40px; } }

.product-enquiry-favourites-container .favourites:after {
  font-size: 16px; }

#product-quantity-break-pricing, .product-enquiry-price-break-container {
  max-width: 100%;
  margin: auto;
  padding: 0 0 40px; }
  @media screen and (min-width: 112.5em) {
    #product-quantity-break-pricing, .product-enquiry-price-break-container {
      margin: 0 0 0 auto; } }
  #product-quantity-break-pricing .quantity-break-module-description, .product-enquiry-price-break-container .quantity-break-module-description {
    width: 100%;
    padding: 5px 0;
    color: var(--primary-colour-lightness-0);
    font-weight: 700;
    font-size: 0.9375rem;
    text-align: center;
    border: 2px solid #c6c7c0;
    border-radius: 0; }
    #product-quantity-break-pricing .quantity-break-module-description span, .product-enquiry-price-break-container .quantity-break-module-description span {
      color: var(--primary-colour-lightness-0);
      padding-left: 20px;
      font-weight: 700; }
  #product-quantity-break-pricing table, .product-enquiry-price-break-container table {
    margin: 15px 0 0; }
    #product-quantity-break-pricing table th, .product-enquiry-price-break-container table th {
      padding: 0 5px 10px; }
    #product-quantity-break-pricing table tbody td, .product-enquiry-price-break-container table tbody td {
      text-align: center;
      font-weight: 400; }
      #product-quantity-break-pricing table tbody td.savings-col, .product-enquiry-price-break-container table tbody td.savings-col {
        color: #ff0101;
        font-weight: 700; }
    #product-quantity-break-pricing table .quantity-col, .product-enquiry-price-break-container table .quantity-col {
      width: 30%; }
    #product-quantity-break-pricing table .price-per-item-col, .product-enquiry-price-break-container table .price-per-item-col {
      width: 40%; }
    #product-quantity-break-pricing table .savings-col, .product-enquiry-price-break-container table .savings-col {
      width: 30%; }

@media screen and (min-width: 112.5em) {
  #product-quantity-break-pricing, .grouped-product-modules {
    margin-left: 20px; } }

.product-enquiry-price-break-container {
  width: 100%;
  margin: 10px 0 20px;
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    .product-enquiry-price-break-container {
      margin: 15px 0 20px; } }

.product-enquiry-single-pricing {
  --price-max-width: 1fr; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-single-pricing {
      --price-max-width: 50%; } }
  @media screen and (min-width: 112.5em) {
    .product-enquiry-single-pricing {
      --price-max-width: 40%; } }

.product-enquiry-group-pricing {
  --price-max-width: 1fr; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-single-pricing .prices .price {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: auto; } }

.product-enquiry-single-pricing .prices .price .value {
  line-height: normal; }

.product-enquiry-single-pricing, .product-enquiry-group-pricing {
  width: 100%;
  padding: 10px 0; }
  .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--price-max-width))); }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    @media screen and (min-width: 112.5em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    .product-enquiry-single-pricing .prices .price-group-container, .product-enquiry-group-pricing .prices .price-group-container {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .product-enquiry-single-pricing .prices .price-group-container:not(:has(*)), .product-enquiry-group-pricing .prices .price-group-container:not(:has(*)) {
        display: none; }
      .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: calc(20px / 2 * -1);
        left: 0;
        display: block;
        margin: auto;
        background-color: #aeaeae; }
      @media screen and (min-width: 30em) {
        .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
          width: 1px;
          height: 90%;
          position: absolute;
          top: 0;
          right: calc(20px / 2 * -1);
          bottom: 0;
          left: unset; } }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-single-pricing .prices .price-group-container .price-container.saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-group-pricing .prices .price-group-container .price-container.saving {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp + .saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp + .saving {
        margin-left: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .label:not(:empty) {
        margin-right: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .value {
        margin-left: 0;
        font-size: 1.75rem;
        font-weight: 700; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }

#product-case-pricing .case-price p {
  margin: 0;
  font-weight: 700;
  font-size: 1rem; }

#product-case-pricing .price {
  margin: 5px 0; }

.delivery-countdown-container [data-countdown-time] {
  font-size: 0.875rem;
  font-weight: 400; }

#additional-images .collection-item.active .thumbnail a, .product-enquiry-additional-images .collection-item.active .thumbnail a {
  border: 1px solid #DB651B;
  opacity: 0.6;
  -webkit-transition: border 0.8s;
  transition: border 0.8s; }

#additional-images .thumbnail, .product-enquiry-additional-images .thumbnail {
  width: 100%;
  height: 100%; }
  #additional-images .thumbnail a, .product-enquiry-additional-images .thumbnail a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
    border: 1px solid #dadada;
    -webkit-transition: border 0.6s;
    transition: border 0.6s; }
    #additional-images .thumbnail a:hover, .product-enquiry-additional-images .thumbnail a:hover {
      border: 1px solid #5F7B27;
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a:active, .product-enquiry-additional-images .thumbnail a:active {
      border: 1px solid rgba(219, 101, 27, 0.5);
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a.image-360, .product-enquiry-additional-images .thumbnail a.image-360 {
      position: relative; }
      #additional-images .thumbnail a.image-360:hover:after, .product-enquiry-additional-images .thumbnail a.image-360:hover:after {
        display: none; }
      #additional-images .thumbnail a.image-360:after, .product-enquiry-additional-images .thumbnail a.image-360:after {
        content: '';
        max-width: 55px;
        max-height: 55px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        display: block;
        background-color: rgba(0, 0, 0, 0.2);
        background-image: url("/template/content/development/images/icons/3dicon.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 80%;
        border-radius: 12.5px;
        border: 2px solid rgba(218, 218, 218, 0.2); }
    #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
      max-width: 150px;
      width: 100%; }
      @media screen and (min-width: 112.5em) {
        #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
          max-width: auto; } }

.grouped-product-modules {
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 112.5em) {
    .grouped-product-modules {
      margin: 0 0 0 20px; } }
  .grouped-product-modules > li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    border-top: 1px solid #dadada; }
    .grouped-product-modules > li:last-child {
      border-bottom: 1px solid #dadada; }
    .grouped-product-modules > li > a, .grouped-product-modules > li > span, .grouped-product-modules > li > p, .grouped-product-modules > li > div {
      padding: 15px 0; }
    .grouped-product-modules > li a, .grouped-product-modules > li span {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .grouped-product-modules > li:last-child {
      margin-bottom: 20px;
      border-bottom: 1px solid #dadada; }
      @media screen and (min-width: 112.5em) {
        .grouped-product-modules > li:last-child {
          margin-bottom: 40px; } }
  .grouped-product-modules .rating-summary-display {
    margin-left: 10px; }

#additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
  margin-right: -0.23438rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.3125rem;
      margin-left: -0.3125rem; } }
  @media screen and (min-width: 112.5em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.15625rem;
      margin-left: -0.15625rem; } }

#additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
  height: auto;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 10px; } }
  @media screen and (min-width: 112.5em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 5px; } }

#additional-image-grid .small-up-1 > .thumbnail, .additional-image-grid .small-up-1 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-2 > .thumbnail, .additional-image-grid .small-up-2 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(50% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-3 > .thumbnail, .additional-image-grid .small-up-3 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(33.33333% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-4 > .thumbnail, .additional-image-grid .small-up-4 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(25% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-5 > .thumbnail, .additional-image-grid .small-up-5 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(20% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-1 > .thumbnail, .additional-image-grid .medium-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-2 > .thumbnail, .additional-image-grid .medium-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-3 > .thumbnail, .additional-image-grid .medium-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-4 > .thumbnail, .additional-image-grid .medium-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-5 > .thumbnail, .additional-image-grid .medium-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media screen and (min-width: 112.5em) {
  #additional-image-grid .large-up-1 > .thumbnail, .additional-image-grid .large-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 112.5em) {
  #additional-image-grid .large-up-2 > .thumbnail, .additional-image-grid .large-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 112.5em) {
  #additional-image-grid .large-up-3 > .thumbnail, .additional-image-grid .large-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 112.5em) {
  #additional-image-grid .large-up-4 > .thumbnail, .additional-image-grid .large-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 112.5em) {
  #additional-image-grid .large-up-5 > .thumbnail, .additional-image-grid .large-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

.stockline-attribute-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    .stockline-attribute-container {
      gap: 10px;
      margin: 0 0 20px; } }
  .stockline-attribute-container .control .control-select-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 112.5em) {
      .stockline-attribute-container .control .control-select-container {
        max-width: 520px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
  .stockline-attribute-container .control .control-select-option.unavailable-option {
    background-color: #f3f3f3;
    color: #7b7b7b;
    opacity: .5;
    cursor: not-allowed; }
    .stockline-attribute-container .control .control-select-option.unavailable-option:active {
      opacity: .8; }
  .stockline-attribute-container .label, .stockline-attribute-container .description {
    width: 40%;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .stockline-attribute-container .label, .stockline-attribute-container .description {
        width: 27%; } }
  .stockline-attribute-container .attribute-display .label {
    display: inline-block;
    margin: 0; }
  .stockline-attribute-container .attribute-display .value {
    display: inline-block;
    font-size: 0.9375rem; }
  .stockline-attribute-container .attribute-container {
    max-width: 100%;
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .stockline-attribute-container .attribute-container {
        max-width: 100%; } }

#product-info-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    #product-info-left {
      margin-right: 20px; } }
  #product-info-left.preset-1 #product-specification-description {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #product-info-left.preset-1 .part-code-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-1 #productImage, #product-info-left.preset-1 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #product-specification-description {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-2 .part-code-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #productImage, #product-info-left.preset-2 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-tabs-container {
    padding: 20px 0 35px; } }

@media screen and (min-width: 112.5em) {
  .product-enquiry-tabs-container {
    padding: 25px 0 45px; } }

.product.previously-purchased-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
  margin: 0 0 15px;
  padding: 15px 0;
  border: 2px solid var(--accent-colour-4-lightness-6);
  background-color: var(--accent-colour-4-lightness-9);
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .product.previously-purchased-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 20px;
      margin: 0 0 35px;
      padding: 15px 0; } }
  .product.previously-purchased-container h3 {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container h3 {
        width: auto;
        font-size: 0.875rem; } }
  .product.previously-purchased-container p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container p {
        gap: 5px 10px; } }
    .product.previously-purchased-container p span {
      font-weight: 400; }
  .product.previously-purchased-container .view-order-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    color: #a234e3;
    font-size: 0.875rem;
    font-weight: 600; }
    @media screen and (min-width: 112.5em) {
      .product.previously-purchased-container .view-order-link {
        padding: 5px;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .product.previously-purchased-container .view-order-link:hover {
      color: #DB651B; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #DB651B;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #5F7B27; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #5F7B27; }
  .product.previously-purchased-container .content-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px 10px; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container .content-container {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 10px 20px; } }
    @media screen and (min-width: 112.5em) {
      .product.previously-purchased-container .content-container {
        gap: 10px 40px; } }

table.custom-stock-table tbody td {
  text-align: left; }

table.custom-stock-table tbody tr[colspan="2"] td {
  border-bottom: 1px solid #eeeeee; }

@media screen and (min-width: 112.5em) {
  table.custom-stock-table tbody tr td:first-child {
    width: 300px; } }

#basket-form {
  margin-bottom: 20px; }
  @media screen and (min-width: 112.5em) {
    #basket-form {
      margin-bottom: 70px; } }

@media screen and (min-width: 112.5em) {
  #basket-content-container {
    margin: 30px 0 0; } }

#basket-table {
  margin: 0; }
  @media screen and (min-width: 112.5em) {
    #basket-table td:not(.basket-description-col), #basket-table th:not(.basket-description-col) {
      text-align: center; } }
  @media screen and (min-width: 112.5em) {
    #basket-table.read-only td.basket-current-price-col {
      width: auto; } }
  #basket-table.read-only td.add-to-basket-col button {
    margin: auto; }
  #basket-table.read-only td.basket-quantity {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media print, screen and (max-width: 112.49875em) {
      #basket-table.read-only td.basket-quantity {
        width: 20%;
        margin-right: 10px; } }
    #basket-table.read-only td.basket-quantity p {
      margin: 0; }
    #basket-table.read-only td.basket-quantity .label {
      margin-right: 10px;
      font-weight: 600; }
      @media screen and (min-width: 112.5em) {
        #basket-table.read-only td.basket-quantity .label {
          display: none; } }
  #basket-table .basket-description-col {
    --media-aspect-ratio: 1/1; }
    #basket-table .basket-description-col .image {
      width: 175px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 20px 0 0; }
      @media screen and (min-width: 112.5em) {
        #basket-table .basket-description-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin: 0 40px 0 0; } }
      #basket-table .basket-description-col .image a {
        width: 155px; }
        @media screen and (min-width: 112.5em) {
          #basket-table .basket-description-col .image a {
            width: 132px;
            display: block;
            overflow: hidden; } }
      #basket-table .basket-description-col .image img {
        width: 155px;
        border: 1px solid #f3f3f3; }
        @media screen and (min-width: 112.5em) {
          #basket-table .basket-description-col .image img {
            width: 132px; } }
  #basket-table td.basket-description-col {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (max-width: 112.49875em) {
      #basket-table td.basket-description-col {
        grid-column: 1 / 2 span; } }
  #basket-table .stock-description-level {
    min-width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px 0;
    padding: 10px 0; }
    @media screen and (min-width: 112.5em) {
      #basket-table .stock-description-level {
        min-width: unset;
        margin-left: 0;
        padding: 25px 0; } }
    #basket-table .stock-description-level .group-description {
      color: #484848;
      font-size: 0.9375rem;
      font-weight: 600;
      line-height: 1.3; }
      #basket-table .stock-description-level .group-description:hover {
        color: #5F7B27;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #DB651B; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #484848;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: none;
      line-height: normal;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 112.5em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #DB651B;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    #basket-table .stock-description-level .stock-indicator {
      margin-top: 5px; }
    #basket-table .stock-description-level .stockWarning {
      display: none;
      color: rgba(149, 149, 149, 0.6);
      font-size: 0.875rem; }
      #basket-table .stock-description-level .stockWarning.active {
        display: block; }
      #basket-table .stock-description-level .stockWarning p {
        margin: 0;
        padding: 0; }
  #basket-table .subsidiary-description {
    color: #484848;
    font-size: 0.875rem;
    font-weight: 700; }
  #basket-table .non-returnable-description {
    font-style: italic;
    font-size: 0.875rem;
    color: #000000; }
    #basket-table .non-returnable-description:before {
      content: "";
      padding: 0 5px 0 0;
      font-family: "fontello";
      font-style: normal;
      color: #ff5e05; }
  @media screen and (min-width: 112.5em) {
    #basket-table .basket-code-col {
      width: 10%;
      display: table-cell; } }
  @media screen and (min-width: 112.5em) {
    #basket-table .basket-price-col, #basket-table .basket-current-price-col {
      max-width: 15%;
      width: 100%; } }
  #basket-table .vat-rate-container {
    display: block; }
  #basket-table td.basket-price-col {
    font-weight: 400; }
    @media screen and (min-width: 112.5em) {
      #basket-table td.basket-price-col {
        display: table-cell; } }
  #basket-table td.basket-current-price-col {
    font-weight: 400; }
    @media screen and (min-width: 112.5em) {
      #basket-table td.basket-current-price-col {
        display: table-cell; } }
  @media screen and (min-width: 112.5em) {
    #basket-table .add-to-basket-col {
      width: 15%; } }
  #basket-table .basket-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 112.5em) {
      #basket-table .basket-quantity {
        width: 10%;
        display: table-cell; } }
    #basket-table .basket-quantity .quantity-selector-container {
      width: 100%; }
      @media screen and (min-width: 112.5em) {
        #basket-table .basket-quantity .quantity-selector-container {
          width: auto;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 112.5em) {
      #basket-table .basket-quantity .label {
        display: none; } }
    #basket-table .basket-quantity .input-number-group {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (min-width: 112.5em) {
        #basket-table .basket-quantity .input-number-group {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
  @media screen and (min-width: 112.5em) {
    #basket-table .basket-sub-total {
      width: 11%; } }
  #basket-table .basket-sub-total span {
    width: 60%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: right; }
    @media screen and (min-width: 112.5em) {
      #basket-table .basket-sub-total span {
        width: auto;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  #basket-table td.basket-sub-total-col {
    width: 50%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    font-weight: 600;
    color: #5F7B27; }
    @media screen and (min-width: 112.5em) {
      #basket-table td.basket-sub-total-col {
        width: auto;
        display: table-cell; } }
  @media screen and (min-width: 112.5em) {
    #basket-table .basket-remove-col {
      width: 5%; } }
  #basket-table td.basket-remove-col {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 112.5em) {
      #basket-table td.basket-remove-col {
        width: auto;
        display: table-cell; } }
  #basket-table .remove-button {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #basket-table .basketUpdateRow {
    border-top: 1px solid #959595; }
  @media print, screen and (max-width: 112.49875em) {
    #basket-table .basket-item-row {
      display: grid;
      grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
      grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
      gap: 5px;
      padding: 10px; } }
  @media print, screen and (max-width: 112.49875em) {
    #basket-table .basket-item-row td {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  #basket-table .basket-description-col .col-label, #basket-table .basket-code-col .col-label, #basket-table .basket-sub-total-col .col-label {
    display: none; }

table.quick-order-form-table tbody tr {
  cursor: pointer; }
  @media print, screen and (max-width: 112.49875em) {
    table.quick-order-form-table tbody tr {
      display: grid;
      grid-template-columns: 100px 1fr 30px;
      gap: 10px 20px; } }

@media print, screen and (max-width: 112.49875em) {
  table.quick-order-form-table tbody td {
    padding: 0; } }

@media print, screen and (max-width: 112.49875em) {
  table.quick-order-form-table tbody td:not(.image-col) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

@media screen and (min-width: 112.5em) {
  table.quick-order-form-table td {
    text-align: center;
    vertical-align: middle; } }

table.quick-order-form-table .image-col {
  grid-column: 1;
  grid-row: span 4; }
  @media screen and (min-width: 112.5em) {
    table.quick-order-form-table .image-col {
      width: 12.2%; } }

table.quick-order-form-table .description-col {
  grid-column: 2 / span 3; }
  table.quick-order-form-table .description-col .stock-description-level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0;
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      table.quick-order-form-table .description-col .stock-description-level {
        margin: 0 0 0 10px; } }
  table.quick-order-form-table .description-col .description {
    color: #484848;
    font-size: 0.9375rem;
    font-weight: 700; }

@media screen and (min-width: 112.5em) {
  table.quick-order-form-table td.description-col {
    width: 30%; } }

table.quick-order-form-table .code-col {
  grid-column: 2;
  grid-row: 2; }
  @media screen and (min-width: 112.5em) {
    table.quick-order-form-table .code-col {
      width: 25%; } }

table.quick-order-form-table .price-col {
  grid-column: 2 / span 3;
  grid-row: 3; }
  @media screen and (min-width: 112.5em) {
    table.quick-order-form-table .price-col {
      width: 20%; } }

table.quick-order-form-table .quantity-col {
  grid-row: 4; }

table.quick-order-form-table .add-col {
  grid-column: 2;
  grid-row: 5; }
  @media screen and (min-width: 112.5em) {
    table.quick-order-form-table .add-col {
      width: 18.9%;
      text-align: center; } }
  table.quick-order-form-table .add-col .addToBasket.icon, table.quick-order-form-table .add-col .basket-add-button {
    margin-left: 0; }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table tbody tr, table#basket-table.basket-table tbody tr {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

table.basket-table tbody td, table#basket-table.basket-table tbody td {
  vertical-align: middle; }
  table.basket-table tbody td .col-label, table#basket-table.basket-table tbody td .col-label {
    display: inline-block; }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table td.basket-description-col, table#basket-table.basket-table td.basket-description-col {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table td.basket-description-col .image, table#basket-table.basket-table td.basket-description-col .image {
    width: auto;
    margin: 0; } }

table.basket-table td.basket-description-col .stock-description-level, table#basket-table.basket-table td.basket-description-col .stock-description-level {
  gap: 10px 0; }
  table.basket-table td.basket-description-col .stock-description-level .stock-indicator, table#basket-table.basket-table td.basket-description-col .stock-description-level .stock-indicator {
    margin: 0; }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-code-col, table.basket-table .basket-price-col, table.basket-table .basket-quantity, table.basket-table .basket-sub-total-col, table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-code-col, table#basket-table.basket-table .basket-price-col, table#basket-table.basket-table .basket-quantity, table#basket-table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-remove-col {
    width: 100%;
    display: grid;
    grid-template-columns: 50% 50%; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-code-col, table#basket-table.basket-table .basket-code-col {
    grid-column: 2;
    grid-row: 2; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-price-col, table#basket-table.basket-table .basket-price-col {
    grid-column: 2;
    grid-row: 3; } }

table.basket-table .basket-price-col .basket-price-container, table#basket-table.basket-table .basket-price-col .basket-price-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  table.basket-table .basket-price-col .basket-price-container.align-right, table#basket-table.basket-table .basket-price-col .basket-price-container.align-right {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }

@media screen and (min-width: 112.5em) {
  table.basket-table .basket-price-col .vat-rate-container, table#basket-table.basket-table .basket-price-col .vat-rate-container {
    text-align: right; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-quantity, table#basket-table.basket-table .basket-quantity {
    grid-column: 2;
    grid-row: 4;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    grid-column: 2;
    grid-row: 5; } }

@media screen and (min-width: 112.5em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    width: 10%; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-remove-col {
    grid-column: 2;
    grid-row: 6; } }

@media print, screen and (max-width: 112.49875em) {
  table.basket-table .basket-remove-col .remove-button, table#basket-table.basket-table .basket-remove-col .remove-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

#basket-sticky-summary-container {
  position: relative; }

@media print, screen and (max-width: 112.49875em) {
  #basket .basket-item-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

#basket #basket-delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 30px;
  padding: 20px;
  background-color: transparent;
  border: 1px solid #dadada;
  border-radius: 0; }
  @media screen and (min-width: 112.5em) {
    #basket #basket-delivery {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 0 35px;
      padding: 45px; } }
  #basket #basket-delivery h2 {
    position: relative;
    margin: 0 0 35px;
    color: #5F7B27;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #93b64d; }
  #basket #basket-delivery .cms-container {
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      #basket #basket-delivery .cms-container {
        width: 50%;
        margin-right: 20px;
        font-size: 0.8125rem; } }
    #basket #basket-delivery .cms-container p {
      margin: 0 0 20px; }

#basket .checkout-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px; }
  #basket .checkout-buttons-container:has(.seperator:not(:empty)) {
    gap: 20px; }
  #basket .checkout-buttons-container.invalid a {
    cursor: no-drop; }
  #basket .checkout-buttons-container #sagepay-checkout-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px 5px);
    color: #5F7B27;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ffffff;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      #basket .checkout-buttons-container #sagepay-checkout-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket .checkout-buttons-container #sagepay-checkout-button:hover, #basket .checkout-buttons-container #sagepay-checkout-button.hover {
        color: #ffffff;
        background-color: #93b64d;
        border-color: #93b64d;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket .checkout-buttons-container #sagepay-checkout-button:hover .graduated-colour-edge .step, #basket .checkout-buttons-container #sagepay-checkout-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket .checkout-buttons-container #sagepay-checkout-button:active, #basket .checkout-buttons-container #sagepay-checkout-button.active {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled, #basket .checkout-buttons-container #sagepay-checkout-button.disabled, #basket .checkout-buttons-container #sagepay-checkout-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: #6d6d6d; }
    #basket .checkout-buttons-container #sagepay-checkout-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket .checkout-buttons-container #sagepay-checkout-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket .checkout-buttons-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    font-size: 0.9375rem;
    text-transform: uppercase; }

.summary-item-input-container + .checkout-buttons-container, .summary-item + .checkout-buttons-container {
  margin: 20px 0 0; }

.summary-item-input-container.voucher label:before {
  content: ""; }

.summary-item-input-container.vat label:before {
  content: ""; }

.summary-item-input-container {
  width: 100%;
  margin: 30px 0 25px;
  padding: 0; }
  .summary-item-input-container label {
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    color: #5F7B27;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #93b64d;
      font-family: "Font Awesome Solid";
      font-size: 0.875rem; }
  .summary-item-input-container .summary-input-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    .summary-item-input-container .summary-input-container.is-invalid-container + .form-error {
      display: block;
      margin: 15px 0 0;
      padding: 0; }
  .summary-item-input-container .summary-input {
    height: 35px;
    margin: 0;
    padding: 0 0 0 5px;
    background-color: transparent;
    border: 0;
    font-size: 0.875rem;
    color: #000000; }
    .summary-item-input-container .summary-input:hover, .summary-item-input-container .summary-input:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .summary-item-input-container .summary-input::-webkit-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #93b64d; }
  .summary-item-input-container .summary-input-submit.apply {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #f4f6ee;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .summary-item-input-container .summary-input-submit.apply {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.apply:hover, .summary-item-input-container .summary-input-submit.apply.hover {
        color: #ffffff;
        background-color: #DB651B;
        border-color: #DB651B;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.apply:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.apply.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.apply:active, .summary-item-input-container .summary-input-submit.apply.active {
      color: #ffffff;
      background-color: #93b64d;
      border-color: #93b64d;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.apply:disabled, .summary-item-input-container .summary-input-submit.apply.disabled, .summary-item-input-container .summary-input-submit.apply[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.apply:disabled:hover, .summary-item-input-container .summary-input-submit.apply.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.apply:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.apply .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .summary-input-submit.remove {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #c00000;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .summary-item-input-container .summary-input-submit.remove {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.remove:hover, .summary-item-input-container .summary-input-submit.remove.hover {
        color: #ffffff;
        background-color: #484848;
        border-color: #484848;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.remove:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.remove.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.remove:active, .summary-item-input-container .summary-input-submit.remove.active {
      color: #ffffff;
      background-color: #93b64d;
      border-color: #93b64d;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.remove:disabled, .summary-item-input-container .summary-input-submit.remove.disabled, .summary-item-input-container .summary-input-submit.remove[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.remove:disabled:hover, .summary-item-input-container .summary-input-submit.remove.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.remove:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.remove .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .callout {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 10px 0;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    .summary-item-input-container .callout:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 112.5em) {
      .summary-item-input-container .callout {
        gap: 0 15px; } }
    .summary-item-input-container .callout:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .summary-item-input-container .callout.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .summary-item-input-container .callout.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout.preset-2 {
          padding: 15px 65px; } }
    .summary-item-input-container .callout.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout.preset-3 {
          padding: 15px 0; } }
    .summary-item-input-container .callout.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .summary-item-input-container .callout.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.success:has(.content-container):before {
        color: #12811f; }
      .summary-item-input-container .callout.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .summary-item-input-container .callout.success h1, .summary-item-input-container .callout.success h2, .summary-item-input-container .callout.success h3, .summary-item-input-container .callout.success h4, .summary-item-input-container .callout.success h5, .summary-item-input-container .callout.success h6, .summary-item-input-container .callout.success p, .summary-item-input-container .callout.success a {
        color: #12811f; }
    .summary-item-input-container .callout.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .summary-item-input-container .callout.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.warning:has(.content-container):before {
        color: #ff5e05; }
      .summary-item-input-container .callout.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .summary-item-input-container .callout.warning h1, .summary-item-input-container .callout.warning h2, .summary-item-input-container .callout.warning h3, .summary-item-input-container .callout.warning h4, .summary-item-input-container .callout.warning h5, .summary-item-input-container .callout.warning h6, .summary-item-input-container .callout.warning p, .summary-item-input-container .callout.warning a {
        color: #ff5e05; }
    .summary-item-input-container .callout.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .summary-item-input-container .callout.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.alert:has(.content-container):before {
        color: #b20c0c; }
      .summary-item-input-container .callout.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .summary-item-input-container .callout.alert h1, .summary-item-input-container .callout.alert h2, .summary-item-input-container .callout.alert h3, .summary-item-input-container .callout.alert h4, .summary-item-input-container .callout.alert h5, .summary-item-input-container .callout.alert h6, .summary-item-input-container .callout.alert p, .summary-item-input-container .callout.alert a {
        color: #b20c0c; }
    .summary-item-input-container .callout.disabled p {
      color: #959595;
      font-weight: 600; }
    .summary-item-input-container .callout.information {
      background-color: #ededed;
      border: 1px solid #000000; }
      .summary-item-input-container .callout.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.information:has(.content-container):before {
        color: #000000; }
      .summary-item-input-container .callout.information p {
        color: #000000;
        font-weight: 600; }
    .summary-item-input-container .callout.icon-non-returnable {
      --font-family: fontello; }
      .summary-item-input-container .callout.icon-non-returnable:before {
        content: ""; }
    .summary-item-input-container .callout .user-friendly-prefix {
      margin-right: 5px; }
    .summary-item-input-container .callout > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .summary-item-input-container .callout > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 112.49875em) {
          .summary-item-input-container .callout > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .summary-item-input-container .callout .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout .content-container {
          margin: 0; } }
    .summary-item-input-container .callout p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .summary-item-input-container .callout p img[style*="float:left"], .summary-item-input-container .callout p img[style*="float: left"], .summary-item-input-container .callout p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .summary-item-input-container .callout p img[style*="float:right"], .summary-item-input-container .callout p img[style*="float: right"], .summary-item-input-container .callout p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .summary-item-input-container .callout p img {
        margin: .2em 0; }
      .summary-item-input-container .callout p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .summary-item-input-container .callout p:not(:empty) + table, .summary-item-input-container .callout p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .summary-item-input-container .callout table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .summary-item-input-container .callout table:not([class*=preset]) thead {
        background-color: transparent; }
        .summary-item-input-container .callout table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .summary-item-input-container .callout table:not([class*=preset]) thead th {
          font-weight: 700; }
      .summary-item-input-container .callout table.responsive-table {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .summary-item-input-container .callout table.responsive-table {
            display: table; } }
        .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 112.5em) {
            .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 112.5em) {
            .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .summary-item-input-container .callout table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout table td {
          padding: 10px; } }
      .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 112.5em) {
          .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .summary-item-input-container .callout table tbody {
        background-color: transparent; }
        .summary-item-input-container .callout table tbody th {
          background-color: transparent; }
        .summary-item-input-container .callout table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 112.5em) {
          .summary-item-input-container .callout table tbody tr {
            display: table-row; } }
      .summary-item-input-container .callout table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 112.49875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 112.49875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .summary-item-input-container .callout table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .summary-item-input-container .callout table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .summary-item-input-container .callout blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .summary-item-input-container .callout blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .summary-item-input-container .callout blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .summary-item-input-container .callout blockquote:has(img) {
        text-align: left; }
      .summary-item-input-container .callout blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 112.5em) {
        .summary-item-input-container .callout blockquote {
          padding: 50px 60px; } }
      .summary-item-input-container .callout blockquote + blockquote {
        margin-top: 15px; }
      .summary-item-input-container .callout blockquote:before, .summary-item-input-container .callout blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .summary-item-input-container .callout blockquote:before {
        top: 0;
        left: 0; }
      .summary-item-input-container .callout blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .summary-item-input-container .callout blockquote img {
        float: left; }
        @media screen and (min-width: 112.5em) {
          .summary-item-input-container .callout blockquote img {
            text-align: left; } }
    .summary-item-input-container .callout a[href^="tel:"], .summary-item-input-container .callout a[href^="mailto:"] {
      font-weight: 700; }
      .summary-item-input-container .callout a[href^="tel:"]:hover, .summary-item-input-container .callout a[href^="mailto:"]:hover {
        text-decoration: none; }
      .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before, .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .summary-item-input-container .callout p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .summary-item-input-container .callout p a:has([style*="float"]) {
      display: inline; }
    .summary-item-input-container .callout a {
      text-decoration: underline; }
    .summary-item-input-container .callout > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 112.49875em) {
        .summary-item-input-container .callout > p:first-of-type {
          padding-top: 24px; } }

.summary-item-input-container + .warning-container {
  margin-top: 0; }

.warning-container {
  margin: 20px 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #b20c0c; }
  .warning-container p {
    margin: 0; }

#basket-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 35px;
  gap: 15px 0; }
  @media print, screen and (min-width: 40em) {
    #basket-controls {
      margin: 25px 0 50px;
      gap: 15px 0; } }
  #basket-controls .buttons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    gap: 15px; }
    @media screen and (min-width: 112.5em) {
      #basket-controls .buttons-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        gap: 15px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 112.5em) {
      #basket-controls .buttons-container a {
        margin-bottom: 0; } }
  #basket-controls .update-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #5F7B27;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 112.5em) {
      #basket-controls .update-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .update-basket:hover, #basket-controls .update-basket.hover {
        color: #ffffff;
        background-color: #DB651B;
        border-color: #DB651B;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .update-basket:hover:after, #basket-controls .update-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .update-basket:hover .graduated-colour-edge .step, #basket-controls .update-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .update-basket:active, #basket-controls .update-basket.active {
      background-color: #5F7B27;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .update-basket:disabled, #basket-controls .update-basket.disabled, #basket-controls .update-basket[disabled] {
      color: #aeaeae;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .update-basket:disabled:after, #basket-controls .update-basket.disabled:after, #basket-controls .update-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .update-basket:disabled:hover, #basket-controls .update-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .update-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .update-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .update-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket-controls .empty-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #5F7B27;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 112.5em) {
      #basket-controls .empty-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .empty-basket:hover, #basket-controls .empty-basket.hover {
        color: #ffffff;
        background-color: #DB651B;
        border-color: #DB651B;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .empty-basket:hover:after, #basket-controls .empty-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .empty-basket:hover .graduated-colour-edge .step, #basket-controls .empty-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .empty-basket:active, #basket-controls .empty-basket.active {
      background-color: #5F7B27;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .empty-basket:disabled, #basket-controls .empty-basket.disabled, #basket-controls .empty-basket[disabled] {
      color: #959595;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .empty-basket:disabled:after, #basket-controls .empty-basket.disabled:after, #basket-controls .empty-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .empty-basket:disabled:hover, #basket-controls .empty-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .empty-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .empty-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .empty-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.quick-order-form-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 15px; }
  @media screen and (min-width: 112.5em) {
    .quick-order-form-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      gap: 15px; } }
  .quick-order-form-container .search-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .quick-order-form-container .search-container .control.search {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      @media screen and (min-width: 112.5em) {
        .quick-order-form-container .search-container .control.search {
          max-width: 415px; } }
      @media screen and (min-width: 112.5em) {
        .quick-order-form-container .search-container .control.search input {
          width: 305px; } }
    .quick-order-form-container .search-container .input-prefix-icon {
      padding-right: 10px;
      padding-left: 10px; }
      .quick-order-form-container .search-container .input-prefix-icon:before {
        content: "+";
        color: #5F7B27;
        font-size: 22px;
        font-family: "Font Awesome Solid"; }
    .quick-order-form-container .search-container .form-error {
      padding-left: 0; }

.basket-total-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  background-color: #447e15;
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff; }
  .basket-total-container .label {
    margin-right: 10px; }

.basket-total-sticky-container {
  height: 0 !important;
  z-index: 10; }
  @media screen and (min-width: 112.5em) {
    .basket-total-sticky-container {
      display: none; } }

@media print, screen and (max-width: 112.49875em) {
  .summary-sticky-container {
    width: 100%;
    height: auto !important; } }

@media screen and (min-width: 112.5em) {
  .summary-sticky-container {
    width: 310px;
    margin-left: auto; } }

#basket-summary, .summary-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 20px;
  padding: 40px;
  background-color: var(--primary-colour-lightness-10);
  border-radius: 0; }
  @media print, screen and (max-width: 112.49875em) {
    #basket-summary, .summary-container {
      max-width: 100% !important;
      width: 100%;
      position: unset; } }
  @media screen and (min-width: 112.5em) {
    #basket-summary, .summary-container {
      width: 310px;
      margin: 0 0 0 auto; } }
  @media screen and (min-width: 112.5em) {
    #basket-summary.is-stuck, .summary-container.is-stuck {
      position: fixed; } }
  #basket-summary.is-stuck:not(.no-animate), .summary-container.is-stuck:not(.no-animate) {
    -webkit-transition: top 0.6s;
    transition: top 0.6s; }
  @media screen and (min-width: 112.5em) {
    #basket-summary.is-anchored, .summary-container.is-anchored {
      position: absolute; } }
  #basket-summary.is-anchored.is-at-top, .summary-container.is-anchored.is-at-top {
    margin-top: 0 !important; }
  #basket-summary.is-anchored:not(.no-animate), .summary-container.is-anchored:not(.no-animate) {
    -webkit-transition: top 0.8s;
    transition: top 0.8s; }
  #basket-summary.preset-1 #voucher-container, .summary-container.preset-1 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-1 #goods-summary-value, .summary-container.preset-1 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-1 #voucher-summary-value, .summary-container.preset-1 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-1 #delivery-summary-value, .summary-container.preset-1 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-1 #total-value, .summary-container.preset-1 #total-value {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-1 #total-value:before, .summary-container.preset-1 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
    #basket-summary.preset-1 #total-value:after, .summary-container.preset-1 #total-value:after {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-1 #net-summary-value, .summary-container.preset-1 #net-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7; }
  #basket-summary.preset-1 #vat-summary-value, .summary-container.preset-1 #vat-summary-value {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
  #basket-summary.preset-1 #vat-input-container, .summary-container.preset-1 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-1 #edit-basket-container, .summary-container.preset-1 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-1 #summary-warning-container, .summary-container.preset-1 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-1 .checkout-buttons-container, .summary-container.preset-1 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary.preset-2 #voucher-container, .summary-container.preset-2 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-2 #goods-summary-value, .summary-container.preset-2 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-2 #voucher-summary-value, .summary-container.preset-2 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-2 #delivery-summary-value, .summary-container.preset-2 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-2 #total-value, .summary-container.preset-2 #total-value {
    padding: 0;
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
    #basket-summary.preset-2 #total-value:before, .summary-container.preset-2 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #net-summary-value, .summary-container.preset-2 #net-summary-value {
    padding: 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-2 #net-summary-value:before, .summary-container.preset-2 #net-summary-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #vat-summary-value, .summary-container.preset-2 #vat-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    position: relative; }
  #basket-summary.preset-2 #vat-input-container, .summary-container.preset-2 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-2 #edit-basket-container, .summary-container.preset-2 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-2 #summary-warning-container, .summary-container.preset-2 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-2 .checkout-buttons-container, .summary-container.preset-2 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary .basket-summary-heading, #basket-summary .summary-heading, .summary-container .basket-summary-heading, .summary-container .summary-heading {
    margin: 0;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #5F7B27;
    text-transform: none; }
  #basket-summary .summary-intro-container, .summary-container .summary-intro-container {
    margin: 0 0 20px; }
    #basket-summary .summary-intro-container p, .summary-container .summary-intro-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem; }
  #basket-summary .summary-item, .summary-container .summary-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5px 0 0;
    font-size: 0.9375rem;
    color: #000000; }
    #basket-summary .summary-item.highlighted, .summary-container .summary-item.highlighted {
      color: var(--accent-colour-1-lightness-0);
      font-weight: 600; }
    #basket-summary .summary-item span, .summary-container .summary-item span {
      display: inline-block; }
      #basket-summary .summary-item span.value, #basket-summary .summary-item span.label, .summary-container .summary-item span.value, .summary-container .summary-item span.label {
        width: 100%; }
      #basket-summary .summary-item span.label, .summary-container .summary-item span.label {
        max-width: 60%;
        font-weight: 400; }
      #basket-summary .summary-item span.value, .summary-container .summary-item span.value {
        max-width: 40%;
        text-align: right;
        font-weight: 400; }
    #basket-summary .summary-item .incVat, .summary-container .summary-item .incVat {
      width: 100%;
      text-align: right;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: italic; }
  #basket-summary #total-value .label, #basket-summary #total-value .value, .summary-container #total-value .label, .summary-container #total-value .value {
    color: #5F7B27;
    font-size: 1rem;
    font-weight: 700;
    text-transform: none; }
  #basket-summary #edit-basket-container, .summary-container #edit-basket-container {
    position: relative;
    margin: 30px 7px 0 0;
    color: #5F7B27;
    font-size: 0.75rem;
    text-align: right; }
    #basket-summary #edit-basket-container:after, .summary-container #edit-basket-container:after {
      content: "";
      width: 10px;
      height: 10px;
      display: inline-block;
      margin-left: 5px;
      font-size: 1rem;
      font-family: "Font Awesome Solid";
      line-height: 1; }
    #basket-summary #edit-basket-container:hover, .summary-container #edit-basket-container:hover {
      color: #DB651B; }
    #basket-summary #edit-basket-container:active, .summary-container #edit-basket-container:active {
      color: #484848; }

@media screen and (min-width: 112.5em) {
  #delivery-selector {
    width: 50%; } }

#delivery-selector select, #delivery-selector label {
  width: 100%; }

#delivery-selector .delivery-label {
  margin: 10px 0;
  color: #5F7B27;
  font-weight: 600; }

@media screen and (min-width: 112.5em) {
  #delivery-selector .delivery-service, #delivery-selector .delivery-area {
    width: 405px;
    margin: 0 0 0 auto; } }

#delivery-selector .delivery-service.disabled {
  opacity: 0.5; }

.link-failed-container {
  margin: 0 0 50px;
  text-align: center; }
  .link-failed-container .link-failed-heading {
    margin: 0 0 30px;
    color: #ff0101;
    font-size: 1.375rem;
    font-weight: 400; }
  .link-failed-container .primary-button {
    margin-right: auto;
    margin-left: auto; }

.account-menu-items-container .account-page [class*="-icon"]:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].customer-assets:before, .account-menu-items-container .account-page [class*="-icon"].function-1:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].branch-switcher:before, .account-menu-items-container .account-page [class*="-icon"].account-switcher:before, .account-menu-items-container .account-page [class*="-icon"].function-2:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-calls:before, .account-menu-items-container .account-page [class*="-icon"].function-3:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-details:before, .account-menu-items-container .account-page [class*="-icon"].function-4:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contact-preferences:before, .account-menu-items-container .account-page [class*="-icon"].function-5:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contract-items:before, .account-menu-items-container .account-page [class*="-icon"].function-6:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].service-contracts:before, .account-menu-items-container .account-page [class*="-icon"].function-7:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].software-development-logs:before, .account-menu-items-container .account-page [class*="-icon"].function-8:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-download:before, .account-menu-items-container .account-page [class*="-icon"].function-9:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].online-documentation:before, .account-menu-items-container .account-page [class*="-icon"].function-10:before, .account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].favourites:before, .account-menu-items-container .account-page [class*="-icon"].function-11:before {
  content: "";
  font-family: "Font Awesome Regular"; }

.account-menu-items-container .account-page [class*="-icon"].logout:before, .account-menu-items-container .account-page [class*="-icon"].function-13:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].view-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-15:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-password:before, .account-menu-items-container .account-page [class*="-icon"].function-16:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-cards:before, .account-menu-items-container .account-page [class*="-icon"].function-17:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].payment-requests:before, .account-menu-items-container .account-page [class*="-icon"].function-18:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].download-price-lists:before, .account-menu-items-container .account-page [class*="-icon"].function-19:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].recently-purchased:before, .account-menu-items-container .account-page [class*="-icon"].function-21:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].site-list:before, .account-menu-items-container .account-page [class*="-icon"].function-22:before {
  content: "";
  color: #5f7b27; }

.account-menu-items-container .account-page [class*="-icon"].statement:before, .account-menu-items-container .account-page [class*="-icon"].function-24:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].historical-transactions:before, .account-menu-items-container .account-page [class*="-icon"].function-25:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-basket:before, .account-menu-items-container .account-page [class*="-icon"].function-26:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-27:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-users:before, .account-menu-items-container .account-page [class*="-icon"].function-28:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].employee-status:before, .account-menu-items-container .account-page [class*="-icon"].function-29:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-database:before, .account-menu-items-container .account-page [class*="-icon"].function-30:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].function-31:before {
  content: "";
  font-family: "Font Awesome Brands";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-32:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-33:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: "";
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 17px;
  border-radius: 40px;
  background-color: var(--primary-colour-lightness-0);
  color: var(--white-colour);
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page [class*="-icon"].function-35:before {
  content: "";
  color: #663399; }

.menu .account-menu-sections {
  margin-top: 10px; }
  @media screen and (min-width: 112.5em) {
    .menu .account-menu-sections {
      margin-top: 0; } }
  .menu .account-menu-sections .account-page a {
    gap: 10px;
    padding: 5px; }
    .menu .account-menu-sections .account-page a .page-icon {
      font-size: 20px; }
      .menu .account-menu-sections .account-page a .page-icon.change-password, .menu .account-menu-sections .account-page a .page-icon.function-16 {
        font-size: 5.33333px; }
  .menu .account-menu-sections .account-menu-heading-container {
    margin: 5px 0 10px; }

.account-menu-heading-container {
  margin: 35px 0 20px; }

.account-menu-items-container .cell {
  margin-bottom: 10px; }

.account-menu-items-container .account-page {
  height: 100%;
  cursor: pointer; }
  .account-menu-items-container .account-page.site-style span[class*="-icon"]:before {
    color: var(--primary-colour-lightness-0); }
  .account-menu-items-container .account-page a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    padding: 19px;
    color: #000000;
    background-color: #f3f3f3;
    border: 1px solid #f3f3f3;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .account-menu-items-container .account-page a:hover {
      background-color: #5F7B27;
      border-color: #5F7B27; }
      .account-menu-items-container .account-page a:hover span[class*="-description"] {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .account-menu-items-container .account-page a:hover span[class*="-icon"]:before {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .account-menu-items-container .account-page span[class*="-description"] {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #000000;
    font-weight: 700;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .account-menu-items-container .account-page span[class*="-icon"] {
    width: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .account-menu-items-container .account-page span[class*="-icon"]:before {
      font-family: "fontello";
      font-weight: 400;
      color: var(--primary-colour-lightness-0);
      line-height: 1;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .account-menu-items-container .account-page:hover span[class*="-icon"].function-34:before {
    background-color: var(--white-colour);
    color: var(--primary-colour-lightness-0);
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page .page-icon {
  font-size: 30px; }
  .account-menu-items-container .account-page .page-icon.change-password, .account-menu-items-container .account-page .page-icon.function-16 {
    font-size: 8px; }
  .account-menu-items-container .account-page .page-icon.change-details, .account-menu-items-container .account-page .page-icon.function-4 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.manage-cards, .account-menu-items-container .account-page .page-icon.function-17 {
    font-size: 23px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-9 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-35 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.logout, .account-menu-items-container .account-page .page-icon.function-29 {
    font-size: 25px; }

.account-menu .account-menu-items-container .account-page .page-icon {
  font-size: 20px; }

.account-menu h2 {
  padding-bottom: 10px;
  font-size: 1.25rem; }
  @media screen and (min-width: 112.5em) {
    .account-menu h2 {
      font-size: 0.9375rem; } }

#account-page-grid .account-page {
  padding: 0 0 20px; }
  #account-page-grid .account-page a {
    display: block;
    padding: 35px 20px 30px; }

#account-page-grid .page-icon.change-details:before {
  font-size: 45px; }

#account-page-grid .page-icon.change-password:before {
  font-size: 13px; }

#account-page-grid .page-icon.contract-items:before {
  font-size: 65px; }

#account-page-grid .page-icon.favourites:before {
  font-size: 45px; }

#account-page-grid .page-icon.view-orders:before {
  font-size: 55px; }

#account-page-grid .page-icon.recently-purchased:before {
  font-size: 65px; }

#account-page-grid .page-icon.manage-cards:before {
  font-size: 35px; }

#account-page-grid .page-icon.statement:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-users:before {
  font-size: 55px; }

#account-page-grid .page-icon.branch-switcher:before, #account-page-grid .page-icon.account-switcher:before {
  font-size: 60px; }

#account-page-grid .page-icon.contact-preferences:before {
  font-size: 60px; }

#account-page-grid .page-icon.historical-transactions:before {
  font-size: 60px; }

#account-page-grid .page-icon.upload-basket:before {
  font-size: 45px; }

#account-page-grid .page-icon.upload-orders:before {
  font-size: 45px; }

#account-page-grid .page-icon.logout:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-calls:before {
  font-size: 45px; }

#account-page-grid .page-icon.service-contracts:before {
  font-size: 45px; }

#account-page-grid .page-icon.customer-assets:before {
  font-size: 45px; }

#account-page-grid .page-icon.payment-requests {
  font-size: 45px; }

#account-page-grid .page-icon.download-price-lists {
  font-size: 45px; }

#account-page-grid .page-icon.site-list {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-download {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-database {
  font-size: 45px; }

#account-page-grid .page-icon.online-documentation {
  font-size: 45px; }

.account-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 112.5em) {
    .account-sorting-options {
      margin: 0 0 10px; } }
  .account-sorting-options .sort-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
    @media screen and (min-width: 112.5em) {
      .account-sorting-options .sort-option {
        width: auto;
        height: 100%;
        margin: 0; } }
    @media screen and (min-width: 112.5em) {
      .account-sorting-options .sort-option.branch-filter {
        max-width: 490px; } }
    @media screen and (min-width: 112.5em) {
      .account-sorting-options .sort-option.branch-filter select, .account-sorting-options .sort-option.branch-filter .control-select-dropdown {
        width: 300px; } }
    .account-sorting-options .sort-option.branch-filter .tooltip-container {
      -ms-flex-item-align: center;
          align-self: center;
      margin-left: 5px; }
    .account-sorting-options .sort-option.pagination {
      margin-right: 0;
      margin-left: auto; }
    .account-sorting-options .sort-option .label, .account-sorting-options .sort-option .paginationLabel {
      width: auto;
      margin-right: 10px;
      white-space: nowrap; }

.account-buttons-container {
  margin-bottom: 40px; }
  @media screen and (min-width: 112.5em) {
    .account-buttons-container {
      width: 235px; } }
  .account-buttons-container.center-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.order-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    .order-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto; } }
  .order-container + .responsive-tabs {
    margin-top: 20px; }
    @media screen and (min-width: 112.5em) {
      .order-container + .responsive-tabs {
        margin-top: 40px; } }
  .order-container.payment-confirmation {
    margin-bottom: 10px; }
    @media screen and (min-width: 112.5em) {
      .order-container.payment-confirmation {
        margin-bottom: 20px; } }
    @media screen and (min-width: 112.5em) {
      .order-container.payment-confirmation .order-details-container .order-details, .order-container.payment-confirmation .order-details-container .order-delivery {
        width: calc(50% - 10px); } }
  @media screen and (min-width: 112.5em) {
    .order-container.preset-1 #order-table {
      width: 970px;
      margin-right: auto;
      margin-left: 0; } }
  @media screen and (min-width: 112.5em) {
    .order-container.preset-1 #order-table .basket-price-col {
      width: 15%; } }
  @media screen and (min-width: 112.5em) {
    .order-container.preset-1 #order-table td.basket-description-col {
      width: 515px; } }
  .order-container #order-table {
    margin: 20px auto 25px; }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table td:not(.basket-description-col), .order-container #order-table th:not(.basket-description-col) {
        text-align: center; } }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table.read-only td.basket-current-price-col {
        width: auto; } }
    .order-container #order-table.read-only td.add-to-basket-col button {
      margin: auto; }
    .order-container #order-table.read-only td.basket-quantity {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media print, screen and (max-width: 112.49875em) {
        .order-container #order-table.read-only td.basket-quantity {
          width: 20%;
          margin-right: 10px; } }
      .order-container #order-table.read-only td.basket-quantity p {
        margin: 0; }
      .order-container #order-table.read-only td.basket-quantity .label {
        margin-right: 10px;
        font-weight: 600; }
        @media screen and (min-width: 112.5em) {
          .order-container #order-table.read-only td.basket-quantity .label {
            display: none; } }
    .order-container #order-table .basket-description-col {
      --media-aspect-ratio: 1/1; }
      .order-container #order-table .basket-description-col .image {
        width: 175px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 20px 0 0; }
        @media screen and (min-width: 112.5em) {
          .order-container #order-table .basket-description-col .image {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0 40px 0 0; } }
        .order-container #order-table .basket-description-col .image a {
          width: 155px; }
          @media screen and (min-width: 112.5em) {
            .order-container #order-table .basket-description-col .image a {
              width: 132px;
              display: block;
              overflow: hidden; } }
        .order-container #order-table .basket-description-col .image img {
          width: 155px;
          border: 1px solid #f3f3f3; }
          @media screen and (min-width: 112.5em) {
            .order-container #order-table .basket-description-col .image img {
              width: 132px; } }
    .order-container #order-table td.basket-description-col {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media print, screen and (max-width: 112.49875em) {
        .order-container #order-table td.basket-description-col {
          grid-column: 1 / 2 span; } }
    .order-container #order-table .stock-description-level {
      min-width: 40%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 10px 0;
      padding: 10px 0; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table .stock-description-level {
          min-width: unset;
          margin-left: 0;
          padding: 25px 0; } }
      .order-container #order-table .stock-description-level .group-description {
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.3; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #5F7B27;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #DB651B; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 700;
        text-transform: none;
        line-height: normal;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 112.5em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #DB651B;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #5F7B27;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .order-container #order-table .stock-description-level .stock-indicator {
        margin-top: 5px; }
      .order-container #order-table .stock-description-level .stockWarning {
        display: none;
        color: rgba(149, 149, 149, 0.6);
        font-size: 0.875rem; }
        .order-container #order-table .stock-description-level .stockWarning.active {
          display: block; }
        .order-container #order-table .stock-description-level .stockWarning p {
          margin: 0;
          padding: 0; }
    .order-container #order-table .subsidiary-description {
      color: #484848;
      font-size: 0.875rem;
      font-weight: 700; }
    .order-container #order-table .non-returnable-description {
      font-style: italic;
      font-size: 0.875rem;
      color: #000000; }
      .order-container #order-table .non-returnable-description:before {
        content: "";
        padding: 0 5px 0 0;
        font-family: "fontello";
        font-style: normal;
        color: #ff5e05; }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table .basket-code-col {
        width: 10%;
        display: table-cell; } }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table .basket-price-col, .order-container #order-table .basket-current-price-col {
        max-width: 15%;
        width: 100%; } }
    .order-container #order-table .vat-rate-container {
      display: block; }
    .order-container #order-table td.basket-price-col {
      font-weight: 400; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table td.basket-price-col {
          display: table-cell; } }
    .order-container #order-table td.basket-current-price-col {
      font-weight: 400; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table td.basket-current-price-col {
          display: table-cell; } }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table .add-to-basket-col {
        width: 15%; } }
    .order-container #order-table .basket-quantity {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table .basket-quantity {
          width: 10%;
          display: table-cell; } }
      .order-container #order-table .basket-quantity .quantity-selector-container {
        width: 100%; }
        @media screen and (min-width: 112.5em) {
          .order-container #order-table .basket-quantity .quantity-selector-container {
            width: auto;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table .basket-quantity .label {
          display: none; } }
      .order-container #order-table .basket-quantity .input-number-group {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        @media screen and (min-width: 112.5em) {
          .order-container #order-table .basket-quantity .input-number-group {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table .basket-sub-total {
        width: 11%; } }
    .order-container #order-table .basket-sub-total span {
      width: 60%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      text-align: right; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table .basket-sub-total span {
          width: auto;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1; } }
    .order-container #order-table td.basket-sub-total-col {
      width: 50%;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4;
      font-weight: 600;
      color: #5F7B27; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table td.basket-sub-total-col {
          width: auto;
          display: table-cell; } }
    @media screen and (min-width: 112.5em) {
      .order-container #order-table .basket-remove-col {
        width: 5%; } }
    .order-container #order-table td.basket-remove-col {
      width: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-ordinal-group: 7;
          -ms-flex-order: 6;
              order: 6; }
      @media screen and (min-width: 112.5em) {
        .order-container #order-table td.basket-remove-col {
          width: auto;
          display: table-cell; } }
    .order-container #order-table .remove-button {
      width: 80px;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      color: #959595;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .order-container #order-table .basketUpdateRow {
      border-top: 1px solid #959595; }
    @media print, screen and (max-width: 112.49875em) {
      .order-container #order-table .basket-item-row {
        display: grid;
        grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
        grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
        gap: 5px;
        padding: 10px; } }
    @media print, screen and (max-width: 112.49875em) {
      .order-container #order-table .basket-item-row td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline; } }
  .order-container #basket-summary {
    margin: 0; }
  .order-container #basket-summary {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.order-details, .order-delivery, .enquiry-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
  padding: 15px 20px;
  background-color: #f3f3f3;
  border-radius: 0; }
  @media screen and (min-width: 112.5em) {
    .order-details, .order-delivery, .enquiry-details-container {
      width: auto;
      margin: 0;
      padding: 30px 40px; } }
  .order-details.inline, .order-delivery.inline, .enquiry-details-container.inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 20px; }
    .order-details.inline .order-detail-heading, .order-delivery.inline .order-detail-heading, .enquiry-details-container.inline .order-detail-heading {
      margin: 0; }
    @media screen and (min-width: 112.5em) {
      .order-details.inline .detail-item-container > span, .order-delivery.inline .detail-item-container > span, .enquiry-details-container.inline .detail-item-container > span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: 5px; } }
    .order-details.inline .detail-item-container > address, .order-delivery.inline .detail-item-container > address, .enquiry-details-container.inline .detail-item-container > address {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      gap: 5px; }
      .order-details.inline .detail-item-container > address span, .order-delivery.inline .detail-item-container > address span, .enquiry-details-container.inline .detail-item-container > address span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        white-space: nowrap; }
        .order-details.inline .detail-item-container > address span:not(:last-child):after, .order-delivery.inline .detail-item-container > address span:not(:last-child):after, .enquiry-details-container.inline .detail-item-container > address span:not(:last-child):after {
          content: ',';
          display: inline-block; }
  .order-details.payer-details, .order-delivery.payer-details, .enquiry-details-container.payer-details {
    padding: 20px 20px; }

.order-detail-heading, .order-delivery-heading, .enquiry-details-heading {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 5px;
  margin: 0 0 25px;
  border-bottom: 1px solid #aeaeae; }
  .order-detail-heading h3, .order-delivery-heading h3, .enquiry-details-heading h3 {
    font-size: 1.375rem;
    font-weight: 400; }
  .order-detail-heading a.edit, .order-delivery-heading a.edit, .enquiry-details-heading a.edit {
    margin-left: auto; }

.detail-item-container, .delivery-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .detail-item-container:has(> p:empty), .delivery-item-container:has(> p:empty) {
    display: none; }
  .detail-item-container > span, .delivery-item-container > span {
    width: 100%;
    display: inline-block;
    color: #5F7B27;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .detail-item-container > span, .delivery-item-container > span {
        width: 170px; } }
  .detail-item-container > p, .delivery-item-container > p {
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem; }
    @media screen and (min-width: 112.5em) {
      .detail-item-container > p, .delivery-item-container > p {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .detail-item-container a, .delivery-item-container a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-weight: 700;
    font-size: 0.875rem; }
  .detail-item-container address, .delivery-item-container address {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 0.875rem; }

.basket-current-price-col {
  position: relative;
  color: #ff0101; }
  .basket-current-price-col .current-price-saving {
    position: relative;
    color: #5F7B27;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    display: none; }
    @media screen and (min-width: 112.5em) {
      .basket-current-price-col .current-price-saving {
        width: 70px;
        position: absolute;
        top: 35px;
        right: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto; } }
    .basket-current-price-col .current-price-saving:after {
      content: '\f0dd';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 0;
      color: #ff0101;
      font-family: "Font Awesome Solid";
      font-size: 13px; }

.order-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px; }
  @media screen and (min-width: 112.5em) {
    .order-details-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .order-details-container .grid-x {
    width: calc(100% + 10px); }
    @media print, screen and (min-width: 40em) {
      .order-details-container .grid-x {
        width: calc(100% + 20px); } }

.requisition-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 112.5em) {
    .requisition-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto 50px; } }

.package-reference-container {
  font-size: 1rem;
  font-weight: 700; }
  .package-reference-container .label {
    display: inline-block; }
  .package-reference-container .container-reference {
    display: inline-block;
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .package-reference-container .container-reference {
        margin-right: 30px;
        margin-left: 15px; } }
    @media screen and (min-width: 112.5em) {
      .package-reference-container .container-reference {
        margin-right: 60px;
        margin-left: 30px; } }

.users-found-count {
  margin-bottom: 30px;
  font-size: 0.9375rem; }
  @media screen and (min-width: 112.5em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #5F7B27;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 0.9375rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 112.5em) {
      #users-table td .label {
        display: none; } }

#users-table td.users-contact-col {
  font-weight: 700;
  color: #484848; }

#users-table .users-account-col {
  text-align: left; }
  @media screen and (min-width: 112.5em) {
    #users-table .users-account-col {
      width: 25%;
      text-align: center; } }

@media screen and (min-width: 112.5em) {
  #users-table .users-contact-col {
    width: 33%; } }

@media screen and (min-width: 112.5em) {
  #users-table .users-email-col {
    width: 33%; } }

@media screen and (min-width: 112.5em) {
  #users-table .users-delete-col {
    width: 33%; } }

@media screen and (min-width: 112.5em) {
  #users-table .users-delete-col {
    text-align: center; } }

@media screen and (min-width: 112.5em) {
  #users-table .users-delete-col .remove-user-button {
    margin: auto; } }

.remove-user-button {
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer; }
  @media screen and (min-width: 112.5em) {
    .remove-user-button {
      display: block; } }
  .remove-user-button:before {
    content: "";
    color: #959595;
    font-family: "Font Awesome Regular";
    font-size: 1.13636rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .remove-user-button:hover:before {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #5F7B27; }

.manage-user-button-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px auto 0; }
  @media screen and (min-width: 112.5em) {
    .manage-user-button-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 112.5em) {
    .manage-user-button-container .primary-button {
      margin: 0 20px 0 auto; } }
  @media screen and (min-width: 112.5em) {
    .manage-user-button-container .secondary-button {
      margin: 0; } }
  @media screen and (min-width: 112.5em) {
    .manage-user-button-container .tertiary-button {
      margin: 0; } }

#select-branches-table {
  max-width: 850px;
  width: 100%;
  margin: auto;
  overflow-y: scroll; }
  @media screen and (min-width: 112.5em) {
    #select-branches-table .label {
      display: none; } }
  #select-branches-table .branch-col {
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      #select-branches-table .branch-col {
        padding-left: 80px; } }
  #select-branches-table td.branch-col {
    font-size: 0.9375rem; }
  @media screen and (min-width: 112.5em) {
    #select-branches-table .allow-login-col {
      padding-right: 160px; } }

@media screen and (min-width: 112.5em) {
  #tokens-table.payment .card-type-col {
    width: 250px;
    padding-left: 50px; } }

@media screen and (min-width: 112.5em) {
  #tokens-table.payment .card-number-col {
    width: 180px; } }

@media screen and (min-width: 112.5em) {
  #tokens-table.payment .card-expire-date-col {
    width: 240px; } }

@media screen and (min-width: 112.5em) {
  #tokens-table.payment .card-remove-col {
    padding-right: 0; } }

#tokens-table, .tokens-table {
  margin: 0; }
  #tokens-table tr:hover .card-type:before, .tokens-table tr:hover .card-type:before {
    color: #DB651B;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #tokens-table tr.card-expired .card-type-col, #tokens-table tr.card-expired .card-number-col, #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .card-type-col, .tokens-table tr.card-expired .card-number-col, .tokens-table tr.card-expired .expire-date {
    opacity: 0.5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  @media print, screen and (max-width: 112.49875em) {
    #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .expire-date {
      opacity: 1; } }
  #tokens-table tr.card-expired:hover .card-type-col, #tokens-table tr.card-expired:hover .card-number-col, #tokens-table tr.card-expired:hover .expire-date, .tokens-table tr.card-expired:hover .card-type-col, .tokens-table tr.card-expired:hover .card-number-col, .tokens-table tr.card-expired:hover .expire-date {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #tokens-table td, .tokens-table td {
    font-size: 0.9375rem; }
  #tokens-table .card-select-col .radio, .tokens-table .card-select-col .radio {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 112.5em) {
    #tokens-table .card-type-col, .tokens-table .card-type-col {
      width: 30%;
      padding-left: 200px;
      text-align: left; } }
  #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media screen and (min-width: 112.5em) {
      #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
        width: 20%;
        -webkit-box-orient: unset;
        -webkit-box-direction: unset;
            -ms-flex-direction: unset;
                flex-direction: unset;
        text-align: center; } }
  #tokens-table .expire-date, .tokens-table .expire-date {
    display: inline-block; }
    @media screen and (min-width: 112.5em) {
      #tokens-table .expire-date, .tokens-table .expire-date {
        width: auto; } }
  @media screen and (min-width: 112.5em) {
    #tokens-table .card-remove-col, .tokens-table .card-remove-col {
      text-align: center;
      padding-right: 200px; } }
  #tokens-table .selected-card, .tokens-table .selected-card {
    display: inline-block;
    font-weight: 600; }

.no-tokens-found {
  margin: 50px 0;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 600; }
  @media screen and (min-width: 112.5em) {
    .no-tokens-found {
      margin: 100px 0; } }
  .no-tokens-found .no-tokens-icon:before {
    content: "";
    font-family: "Font Awesome Regular";
    font-size: 4.0625rem;
    color: #dadada; }

.payment-details-container {
  max-height: 60vh;
  overflow-y: scroll; }

.modal-container[type=select-payment] #payment-add-new-card-form {
  display: none; }

#payment-add-new-card-form {
  max-width: 640px;
  width: 100%;
  margin: auto; }
  #payment-add-new-card-form fieldset {
    margin: 0;
    padding: 0; }
  #payment-add-new-card-form .cms-content-container {
    padding: 0; }

.save-card-container {
  width: 100%; }
  .save-card-container .control.checkbox {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .save-card-container .label {
    width: auto; }

#payment-frame {
  width: 100%;
  border: 0; }

.statement-list-container.in-active, .statement-pay-container.in-active, .account-pay-container.in-active {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.statement-balance-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 112.5em) {
    .statement-balance-container {
      margin: 0 2% 20px 0;
      text-align: right; } }
  .statement-balance-container p {
    margin: 0;
    padding: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: #5F7B27; }
    .statement-balance-container p span {
      padding-left: 60px; }

.statement-pay-container, .account-pay-container {
  position: relative; }
  @media screen and (min-width: 112.5em) {
    .statement-pay-container, .account-pay-container {
      margin: 30px 0 0; } }

.summary-container.statement .summary-heading, .summary-container.account-payment-summary .summary-heading {
  margin: 0 0 40px; }

.transaction-type {
  display: inline-block; }
  @media screen and (min-width: 112.5em) {
    .transaction-type {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.direct-debit-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .direct-debit-icon:after {
    content: "";
    margin-left: 5px;
    font-family: "fontello";
    font-size: 16px;
    color: #000000; }

table.service-contracts {
  table-layout: fixed; }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .branch-col {
      width: 6.2%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .next-due-date-col {
      width: 8%;
      padding: 0 12px; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .document-reference-col {
      width: 9%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .your-reference-col {
      width: 10%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .sku-reference-col {
      width: 12%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .contract-value-col {
      width: 8%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .contract-type-col {
      width: 12%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts td.contract-type-col {
      padding: 0 10px;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .contract-group-col {
      width: 9.8%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .frequency-col {
      width: 8.5%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .payment-method-col {
      width: 9%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .termination-date-col {
      width: 8%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .balance-col {
      width: 7%; } }
  @media screen and (min-width: 112.5em) {
    table.service-contracts .renewal-col {
      width: 5.5%; } }
  table.service-contracts .tubs-renew-button {
    font-weight: 400;
    font-size: 0.875rem;
    color: #5F7B27; }
    @media print, screen and (max-width: 112.49875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 15px 35px;
        border: 1px solid #dadada;
        text-align: center; } }

@media screen and (min-width: 112.5em) {
  table.order-status-table .item-col, table.order-invoice-enquiry-table .item-col {
    width: 5%; } }

table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
  overflow-wrap: anywhere; }
  @media screen and (min-width: 112.5em) {
    table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
      width: 14%; } }

@media screen and (min-width: 112.5em) {
  table.order-status-table .description-col, table.order-invoice-enquiry-table .description-col {
    width: 23%; } }

@media screen and (min-width: 112.5em) {
  table.order-status-table th.description-col, table.order-invoice-enquiry-table th.description-col {
    text-align: center; } }

@media screen and (min-width: 112.5em) {
  table.order-status-table .invoices-col, table.order-status-table .deliveries-col, table.order-invoice-enquiry-table .invoices-col, table.order-invoice-enquiry-table .deliveries-col {
    width: 12%; } }

table.order-status-table ul, table.order-invoice-enquiry-table ul {
  padding: 0;
  list-style: none; }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .item-col {
    width: 6.95%; } }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .reference-col {
    width: 13%; } }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .quantity-col {
    width: 15%; } }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .description-col {
    width: 27%;
    text-align: left; } }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .our-reference-col {
    width: 15%; } }

@media screen and (min-width: 112.5em) {
  table.delivery-enquiry-table .your-reference-col {
    width: 15%; } }

@media screen and (min-width: 112.5em) {
  table.contracts-table {
    margin-top: 40px; } }

@media screen and (min-width: 112.5em) {
  table.contracts-table .description-col {
    width: 33%;
    padding-left: 20px;
    text-align: left; } }

table.contracts-table td.description-col {
  font-weight: 700;
  color: #484848; }

@media screen and (min-width: 112.5em) {
  table.transactions-table .type-col, table.transactions-table .document-reference-col, table.transactions-table .value-col, table.transactions-table .status-col {
    text-align: center; } }

@media screen and (min-width: 112.5em) {
  table.transactions-table .date-col {
    padding-left: 20px;
    text-align: left; } }

.account-return-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 112.5em) {
    .account-return-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .account-return-button:hover, .account-return-button.hover {
      color: #5F7B27;
      background-color: #f5f7ed;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .account-return-button:hover .graduated-colour-edge .step, .account-return-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .account-return-button:active, .account-return-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .account-return-button:disabled, .account-return-button.disabled, .account-return-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: #6d6d6d; }
  .account-return-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .account-return-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .pay-col {
    width: 6.2%; } }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .date-col {
    width: 20%; } }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .time-col {
    width: 8.5%; } }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .reference-col {
    width: 18.1%; } }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .amount-col {
    width: 10.8%; } }

@media screen and (min-width: 112.5em) {
  table.payment-requests-table .contact-col {
    width: 25%; } }

.site-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 112.5em) {
    .site-list-container {
      margin: 0 0 40px; } }
  .site-list-container .bespoke-site-icon {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .site-list-container .bespoke-site-icon:before {
      content: "";
      margin: auto;
      font-family: "fontello";
      font-size: 26px;
      color: #DB651B; }
  .site-list-container .site-logo {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .site-list-container .site-logo:hover {
      opacity: .5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .site-list-container .site-logo .image {
      height: 100%;
      aspect-ratio: 1 / 1; }
      .site-list-container .site-logo .image img {
        height: 100%; }
  .site-list-container .site-description a:hover {
    color: #DB651B; }
  .site-list-container .site-description a:active {
    color: #484848; }

.site-list-publish-status:before {
  font-family: "Font Awesome Solid";
  font-size: 16px; }

.site-list-publish-status.success:before {
  content: "";
  color: #12811f; }

.site-list-publish-status.failed:before {
  content: "";
  color: #b20c0c; }

.site-list-publish-status.unknown:before {
  content: "";
  color: #484848; }

.site-list-publish-status.cancelled:before {
  content: "";
  color: #484848; }

.site-list-publish-status.in-progress:before {
  content: "";
  display: block;
  color: #5F7B27;
  -webkit-animation: spinner 1.5s linear infinite;
          animation: spinner 1.5s linear infinite; }

@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.data-time-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .data-time-container .time {
    display: inline-block;
    margin-left: 15px;
    font-style: italic; }
    @media screen and (min-width: 112.5em) {
      .data-time-container .time {
        display: block;
        margin-left: 15px; } }

@media screen and (min-width: 112.5em) {
  table.publish-history .data-time-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px; } }

table.site-list-table tbody td {
  vertical-align: middle; }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table.responsive-table td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 0.875rem; } }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table.responsive-table td.site-logo-col {
    padding: 0; } }

table.site-list-table.responsive-table td .col-label {
  width: 40%;
  font-weight: 600;
  color: #000000; }

table.site-list-table.preset-1 tbody tr {
  padding: 20px; }
  @media print, screen and (max-width: 112.49875em) {
    table.site-list-table.preset-1 tbody tr {
      background-color: #f3f3f3; } }
  @media screen and (min-width: 112.5em) {
    table.site-list-table.preset-1 tbody tr {
      padding: 0; } }

table.site-list-table td p {
  margin: 0;
  padding: 0; }

table.site-list-table th.site-logo-col {
  display: none; }

table.site-list-table tr.staging-site .site-logo-col .site-logo {
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }

@media screen and (min-width: 112.5em) {
  table.site-list-table .site-logo-col {
    width: 112px;
    padding: 0; } }

table.site-list-table .site-logo-col a {
  width: 100%;
  text-align: center; }

table.site-list-table .site-logo-col .site-logo {
  height: 120px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  padding: 30px;
  background-color: #dadada;
  border: 2px solid #ffffff; }
  @media screen and (min-width: 112.5em) {
    table.site-list-table .site-logo-col .site-logo {
      width: 110px;
      margin: 2px;
      padding: 10px;
      border: 0; } }
  table.site-list-table .site-logo-col .site-logo .image, table.site-list-table .site-logo-col .site-logo a {
    width: 100%; }

table.site-list-table .site-description-col {
  text-align: left; }
  table.site-list-table .site-description-col p {
    margin: 0;
    padding: 0; }
  table.site-list-table .site-description-col hr {
    width: 100%;
    margin: 10px 0 15px; }
    @media screen and (min-width: 112.5em) {
      table.site-list-table .site-description-col hr {
        display: none; } }
  table.site-list-table .site-description-col .site-description a {
    color: #5F7B27;
    font-size: 1.0625rem;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      table.site-list-table .site-description-col .site-description a {
        font-size: 0.9375rem; } }
  table.site-list-table .site-description-col .site-environment {
    font-size: 1.0625rem;
    font-style: italic; }
    @media screen and (min-width: 112.5em) {
      table.site-list-table .site-description-col .site-environment {
        font-size: 0.9375rem; } }

@media screen and (min-width: 112.5em) {
  table.site-list-table th.site-description-col {
    padding-left: 20px; } }

@media screen and (min-width: 112.5em) {
  table.site-list-table td.site-description-col {
    width: 250px;
    padding-left: 30px; } }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table td.site-description-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; } }

@media print, screen and (max-width: 112.49875em) {
  table.site-list-table .site-description, table.site-list-table .site-environment {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  table.site-list-table .license-col, table.site-list-table .publishing-col {
    width: 110px; } }

@media screen and (min-width: 112.5em) {
  table.site-list-table .started-col, table.site-list-table .ended-col, table.site-list-table .last-touch-col {
    width: 145px; } }

table.site-list-table .site-buttons-col .site-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin: 30px 0 0; }
  @media screen and (min-width: 112.5em) {
    table.site-list-table .site-buttons-col .site-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 10px;
      margin: 0; } }

table.site-list-table .site-buttons-col button, table.site-list-table .site-buttons-col a {
  margin: 0;
  font-size: 0.8125rem;
  padding: 10px 15px; }

@media screen and (min-width: 112.5em) {
  table.site-list-table .data-time-container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media screen and (min-width: 112.5em) {
  table.site-list-table .data-time-container .time {
    margin-left: 0; } }

table.site-list-table .bespoke-site-icon:before {
  font-size: 44px; }

.site-list-content-container {
  padding: 20px;
  background-color: #f3f3f3;
  -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .site-list-content-container:hover {
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .site-list-content-container.staging-site .site-logo {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .site-list-content-container .site-logo {
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 20px;
    background-color: #dadada;
    border: 2px solid #ffffff; }
    .site-list-content-container .site-logo .image {
      padding: 30px; }
    .site-list-content-container .site-logo .image, .site-list-content-container .site-logo img {
      width: 100%; }
  .site-list-content-container .site-description {
    text-align: center; }
    .site-list-content-container .site-description a {
      margin: 0;
      color: #5F7B27;
      font-size: 1.0625rem;
      font-weight: 700; }
  .site-list-content-container hr {
    margin: 10px 0 15px; }
  .site-list-content-container .site-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 0; }
    .site-list-content-container .site-option > span {
      width: 40%;
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      color: #000000; }
    .site-list-content-container .site-option p {
      margin: 0;
      font-size: 0.875rem; }
    .site-list-content-container .site-option + .site-buttons-container {
      margin-top: 30px; }
  .site-list-content-container .data-time-container {
    font-size: 0.875rem; }
    .site-list-content-container .data-time-container .time {
      display: inline-block; }
  .site-list-content-container .site-buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin: 30px 0 0; }
    @media screen and (min-width: 112.5em) {
      .site-list-content-container .site-buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 15px;
        margin: 0; } }
    .site-list-content-container .site-buttons-container button, .site-list-content-container .site-buttons-container a {
      margin: 0;
      font-size: 0.8125rem;
      padding: 10px 15px; }
  .site-list-content-container .bespoke-site-icon:before {
    font-size: 74px; }

/*
----- CMS Styling ------ 
- Style for the actual cms pages themselves:
  - CMS Entry
  - Blog
  - News
  - Events
  - CMS Series
- CMS entry controls
- CMS module
- CMS content container, this get used throughout express for various pieces of content that is defined in the vmadmin's cms system these block of content can literally be anywhere ( headings for pages, in the footer, ajax responses ).
*/
.display-cms-series-intro, .series-explanatory-text {
  max-width: 850px;
  margin: 15px auto 30px;
  text-align: center; }
  .display-cms-series-intro.cms-content-container p, .series-explanatory-text.cms-content-container p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }

.display-cms-series {
  margin: 25px 0 0; }
  .display-cms-series a:hover h3, .display-cms-series a:hover .video-player-indicator-text {
    text-decoration: underline;
    color: var(--secondary-colour-lightness-0, #DB651B);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .display-cms-series h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700; }
  .display-cms-series .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
  .display-cms-series .entry-content {
    font-size: 1rem; }
    .display-cms-series .entry-content p {
      margin: 0;
      padding: 0; }
  .display-cms-series.news .cell {
    background-color: #eeeeee; }
    .display-cms-series.news .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.blog .cell {
    background-color: #eeeeee; }
    .display-cms-series.blog .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.events .cell {
    background-color: #eeeeee; }
    .display-cms-series.events .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.video-playlist .cell > a {
    background-color: #f3f3f3; }
    .display-cms-series.video-playlist .cell > a:hover {
      background-color: var(--white-colour); }
  .display-cms-series .cell {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .display-cms-series .cell:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .display-cms-series.table .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
    padding: 10px; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.table .cell {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 0; } }
  @media screen and (min-width: 112.5em) {
    .display-cms-series.table .content-container {
      height: 270px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-top: 40px;
      padding-left: 110px;
      padding-right: 110px; } }
  @media screen and (min-width: 112.5em) {
    .display-cms-series.table .content-banner {
      width: 400px;
      height: 260px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .display-cms-series.table .content-banner .image {
    width: 310px;
    height: 200px;
    margin: auto; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.table .content-banner .image {
        margin: 40px 0 0; } }
  .display-cms-series.table .entry-content {
    margin: 0 0 20px; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.table .entry-content {
        margin: 0; } }
  .display-cms-series.table .entry-content.read-more {
    overflow: hidden; }
    .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
      height: 200px; }
      @media screen and (min-width: 112.5em) {
        .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
          height: 30%; } }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.table .entry-content.read-more {
        height: 30%; } }
  .display-cms-series.grid.video-playlist .cell a {
    max-height: 520px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 20px; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.grid.video-playlist .cell a {
        padding: 45px; } }
  .display-cms-series.grid.video-playlist .content-banner {
    margin-bottom: 25px; }
  .display-cms-series.grid.video-playlist h3 {
    margin: 0 0 10px;
    line-height: normal; }
  .display-cms-series.grid.video-playlist .duration-container {
    margin: 0 0 10px; }
  .display-cms-series.grid.video-playlist .entry-content.read-more {
    padding: 0 0 30px;
    font-size: 0.9375rem;
    color: var(--black-colour);
    overflow: hidden; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.grid.video-playlist .entry-content.read-more {
        padding: 0 0 50px; } }
  .display-cms-series.grid.video-playlist .content-container {
    height: 100%; }
    .display-cms-series.grid.video-playlist .content-container .video-player-indicator-text {
      margin-top: auto; }
  .display-cms-series.grid.blog .cell {
    height: 530px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 25px; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.grid.blog .cell {
        padding: 50px; } }
    .display-cms-series.grid.blog .cell .content-banner {
      margin-bottom: 35px; }
      .display-cms-series.grid.blog .cell .content-banner .image {
        height: 170px; }
    .display-cms-series.grid.blog .cell .entry-content.read-more {
      overflow: hidden; }
  .display-cms-series.grid.events .cell {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.grid.events .cell {
        height: 260px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 35px 45px; } }
    .display-cms-series.grid.events .cell .content-container {
      height: 200px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 112.5em) {
      .display-cms-series.grid.events .cell .content-banner {
        width: 200px;
        margin-left: 40px;
        margin-right: 0; } }
    .display-cms-series.grid.events .cell .entry-content.read-more {
      overflow: hidden; }
      .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
        height: 200px; }
        @media screen and (min-width: 112.5em) {
          .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
            height: 75px; } }
      @media screen and (min-width: 112.5em) {
        .display-cms-series.grid.events .cell .entry-content.read-more {
          height: 75px; } }
  .display-cms-series.grid .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px; }
  @media screen and (min-width: 112.5em) {
    .display-cms-series.grid .content-banner .image {
      width: 100%;
      height: 100%;
      text-align: center;
      border: 1px solid #dadada; }
      .display-cms-series.grid .content-banner .image img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; } }
  .display-cms-series .publish-date {
    margin: 0 0 17px; }

.publish-date {
  font-style: italic;
  font-size: 0.875rem;
  color: #484848; }

.read-more-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  color: #484848;
  font-size: 1rem;
  font-weight: 600;
  text-transform: none; }
  @media screen and (min-width: 112.5em) {
    .read-more-anchor {
      margin: 10px 0 0; } }
  .read-more-anchor:hover {
    text-decoration: underline; }

.cms-entry-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 25px 30px 40px; }
  @media screen and (min-width: 112.5em) {
    .cms-entry-container {
      padding: 50px 110px 70px; } }
  .cms-entry-container.news-article .cms-heading:before {
    content: ""; }
  .cms-entry-container.event .cms-heading:before {
    content: ""; }
  .cms-entry-container.blog-post .cms-heading:before {
    content: ""; }
  .cms-entry-container.information {
    background-color: #f3f3f3; }
    .cms-entry-container.information.style-1 {
      padding: 0;
      background-color: transparent; }
  .cms-entry-container .cms-heading {
    width: 100%;
    display: block;
    text-align: center; }
    .cms-entry-container .cms-heading:before {
      display: block;
      margin-bottom: 25px;
      font-family: "Font Awesome Regular";
      font-size: 2.875rem;
      color: #5F7B27;
      line-height: 0.8;
      opacity: 0.3; }
    .cms-entry-container .cms-heading h1 {
      margin: 0 0 40px; }
  .cms-entry-container .content-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1px;
            flex: 1 1px; }
    .cms-entry-container .content-container h1 {
      margin: 25px 0 20px;
      font-size: 2.1875rem;
      font-weight: 600;
      font-style: normal;
      color: #5F7B27;
      line-height: 1.6;
      background-color: transparent; }
      .cms-entry-container .content-container h1:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h1:only-child {
        margin: 0; }
    .cms-entry-container .content-container h2 {
      margin: 25px 0 20px;
      font-size: 2rem;
      font-weight: 600;
      font-style: normal;
      color: #5F7B27;
      line-height: 1.6; }
      .cms-entry-container .content-container h2:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h2:only-child {
        margin: 0; }
    .cms-entry-container .content-container h3 {
      margin: 25px 0 10px;
      padding: 15px 0;
      font-size: 1.5625rem;
      font-weight: 600;
      font-style: normal;
      color: #DB651B;
      line-height: 1.6; }
      .cms-entry-container .content-container h3:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h3:only-child {
        margin: 0; }
    .cms-entry-container .content-container h4 {
      margin: 25px 0 10px;
      padding: 0 0 10px;
      font-size: 1.375rem;
      font-weight: 400;
      font-style: normal;
      color: #5F7B27;
      line-height: 1.6; }
      .cms-entry-container .content-container h4:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h4:only-child {
        margin: 0; }
    .cms-entry-container .content-container h5 {
      margin: 15px 0 10px;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h5:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h5:only-child {
        margin: 0; }
    .cms-entry-container .content-container h6 {
      margin: 15px 0;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h6:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h6:only-child {
        margin: 0; }
    .cms-entry-container .content-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
      .cms-entry-container .content-container p img[style*="float:left"], .cms-entry-container .content-container p img[style*="float: left"], .cms-entry-container .content-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .cms-entry-container .content-container p img[style*="float:right"], .cms-entry-container .content-container p img[style*="float: right"], .cms-entry-container .content-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .cms-entry-container .content-container p img {
        margin: .2em 0; }
      .cms-entry-container .content-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .cms-entry-container .content-container ul, .cms-entry-container .content-container ol {
      text-align: left; }
    .cms-entry-container .content-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .cms-entry-container .content-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .cms-entry-container .content-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .cms-entry-container .content-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #5F7B27;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .cms-entry-container .content-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .cms-entry-container .content-container ol ol ol {
          list-style-type: lower-roman; }
          .cms-entry-container .content-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .cms-entry-container .content-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .cms-entry-container .content-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h2, .cms-entry-container .content-container ol + h2 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h3, .cms-entry-container .content-container ol + h3 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 15px; }
    .cms-entry-container .content-container dl {
      text-align: left; }
    .cms-entry-container .content-container p:not(:empty) + table, .cms-entry-container .content-container p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .cms-entry-container .content-container table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .cms-entry-container .content-container table:not([class*=preset]) thead {
        background-color: transparent; }
        .cms-entry-container .content-container table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .cms-entry-container .content-container table:not([class*=preset]) thead th {
          font-weight: 700; }
      .cms-entry-container .content-container table.responsive-table {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .cms-entry-container .content-container table.responsive-table {
            display: table; } }
        .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 112.5em) {
            .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 112.5em) {
            .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .cms-entry-container .content-container table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 112.5em) {
        .cms-entry-container .content-container table td {
          padding: 10px; } }
      .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 112.5em) {
          .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .cms-entry-container .content-container table tbody {
        background-color: transparent; }
        .cms-entry-container .content-container table tbody th {
          background-color: transparent; }
        .cms-entry-container .content-container table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 112.5em) {
          .cms-entry-container .content-container table tbody tr {
            display: table-row; } }
      .cms-entry-container .content-container table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 112.49875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 112.49875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .cms-entry-container .content-container table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .cms-entry-container .content-container table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .cms-entry-container .content-container blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Open Sans", "Open Sans Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 112.5em) {
        .cms-entry-container .content-container blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .cms-entry-container .content-container blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .cms-entry-container .content-container blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .cms-entry-container .content-container blockquote:has(img) {
        text-align: left; }
      .cms-entry-container .content-container blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 112.5em) {
        .cms-entry-container .content-container blockquote {
          padding: 50px 60px; } }
      .cms-entry-container .content-container blockquote + blockquote {
        margin-top: 15px; }
      .cms-entry-container .content-container blockquote:before, .cms-entry-container .content-container blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .cms-entry-container .content-container blockquote:before {
        top: 0;
        left: 0; }
      .cms-entry-container .content-container blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .cms-entry-container .content-container blockquote img {
        float: left; }
        @media screen and (min-width: 112.5em) {
          .cms-entry-container .content-container blockquote img {
            text-align: left; } }
    .cms-entry-container .content-container div.gallary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 10px 0 20px; }
      .cms-entry-container .content-container div.gallary.cell-gutters {
        gap: 10px; }
      .cms-entry-container .content-container div.gallary > img {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .cms-entry-container .content-container div.gallary a {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .cms-entry-container .content-container div.gallary a img {
          width: 100%; }
    .cms-entry-container .content-container iframe[src*="https://www.google.com/maps/embed"] {
      border: 2px solid #ffffff; }
    th, td {
      text-align: left; }
    .cms-entry-container .content-container form fieldset h2 {
      color: #5F7B27; }
    .cms-entry-container .content-container .background-section {
      padding: 10px; }
      @media screen and (min-width: 112.5em) {
        .cms-entry-container .content-container .background-section {
          padding: 15px; } }
  @media screen and (min-width: 112.5em) {
    .cms-entry-container .content-banner {
      width: 50%; } }
  .cms-entry-container .content-banner .image:first-child {
    margin-bottom: 10px; }
  .cms-entry-container .content-banner .image:last-child {
    margin-top: 10px; }
  .cms-entry-container .content-banner .image:not(:first-child), .cms-entry-container .content-banner .image:not(:last-child) {
    margin-top: 10px;
    margin-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    .cms-entry-container .content-banner .image {
      width: 78%;
      margin-left: auto; } }
  .cms-entry-container .publish-date {
    display: block;
    margin: 20px 0 0; }
  .cms-entry-container .tagging-container {
    width: 100%;
    margin: 20px 0 0; }
    @media screen and (min-width: 112.5em) {
      .cms-entry-container .tagging-container {
        margin: 40px 0 0; } }

.cms-entry-container a[href^="tel:"], .cms-entry-container a[href^="mailto:"], .cms-content-container a[href^="tel:"], .cms-content-container a[href^="mailto:"], .cms-modul.entry-module a[href^="tel:"], .cms-modul.entry-module a[href^="mailto:"] {
  font-weight: 700; }
  .cms-entry-container a[href^="tel:"]:hover, .cms-entry-container a[href^="mailto:"]:hover, .cms-content-container a[href^="tel:"]:hover, .cms-content-container a[href^="mailto:"]:hover, .cms-modul.entry-module a[href^="tel:"]:hover, .cms-modul.entry-module a[href^="mailto:"]:hover {
    text-decoration: none; }
  .cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.cms-entry-container p a:not([class*="-button"]), .cms-content-container p a:not([class*="-button"]), .cms-modul.entry-module p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.cms-entry-container p a:has([style*="float"]), .cms-content-container p a:has([style*="float"]), .cms-modul.entry-module p a:has([style*="float"]) {
  display: inline; }

.cms-entry-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 40px 0 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-navigation {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-entry-navigation .buttons-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media print, screen and (min-width: 40em) {
      .cms-entry-navigation .buttons-container {
        width: 50%; } }

.cms-entries-controls, .entries-icon-controls {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entries-controls, .entries-icon-controls {
      width: 50%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-top: 0; } }
  .cms-entries-controls .label, .entries-icon-controls .label {
    margin-right: 30px;
    color: #5F7B27;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .cms-entries-controls .control-button, .entries-icon-controls .control-button {
    width: 55px;
    height: 55px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    color: #7a8e52;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .cms-entries-controls .control-button:first-of-type, .entries-icon-controls .control-button:first-of-type {
      margin-right: 30px; }
    .cms-entries-controls .control-button:hover, .entries-icon-controls .control-button:hover {
      background-color: #f4f6ee;
      color: #5F7B27;
      -webkit-box-shadow: 0;
              box-shadow: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .cms-entries-controls .control-button:active, .entries-icon-controls .control-button:active {
      background-color: #DB651B;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "Font Awesome Solid";
      font-size: 26px; }
  .cms-entries-controls .previous-cms-entry:before, .entries-icon-controls .previous-cms-entry:before {
    content: ""; }
  .cms-entries-controls .next-cms-entry:before, .entries-icon-controls .next-cms-entry:before {
    content: ""; }

.entries-text-controls-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 0;
  margin: 15px 0 20px; }
  @media screen and (min-width: 112.5em) {
    .entries-text-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 30px;
      margin: 0 0 20px; } }
  .entries-text-controls-container .label {
    color: #5F7B27;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .entries-text-controls-container .control-button.previous-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 15px 15px 15px);
    color: #7a8e52;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 112.5em) {
      .entries-text-controls-container .control-button.previous-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.previous-entry:hover, .entries-text-controls-container .control-button.previous-entry.hover {
        color: #5F7B27;
        background-color: #f4f6ee;
        border-color: #5F7B27;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover:before, .entries-text-controls-container .control-button.previous-entry.hover:before {
          color: #5F7B27;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.previous-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.previous-entry:active, .entries-text-controls-container .control-button.previous-entry.active {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.previous-entry:active:before, .entries-text-controls-container .control-button.previous-entry.active:before {
        color: #ffffff; }
    .entries-text-controls-container .control-button.previous-entry:disabled, .entries-text-controls-container .control-button.previous-entry.disabled, .entries-text-controls-container .control-button.previous-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.previous-entry:disabled:before, .entries-text-controls-container .control-button.previous-entry.disabled:before, .entries-text-controls-container .control-button.previous-entry[disabled]:before {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:disabled:hover, .entries-text-controls-container .control-button.previous-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.previous-entry:before {
      content: "";
      margin: 0 10px 0 0;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #7a8e52;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.previous-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .entries-text-controls-container .control-button.next-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 15px 15px 15px);
    color: #7a8e52;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 112.5em) {
      .entries-text-controls-container .control-button.next-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.next-entry:hover, .entries-text-controls-container .control-button.next-entry.hover {
        color: #5F7B27;
        background-color: #f4f6ee;
        border-color: #5F7B27;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover:after, .entries-text-controls-container .control-button.next-entry.hover:after {
          color: #5F7B27;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.next-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.next-entry:active, .entries-text-controls-container .control-button.next-entry.active {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.next-entry:active:after, .entries-text-controls-container .control-button.next-entry.active:after {
        color: #ffffff; }
    .entries-text-controls-container .control-button.next-entry:disabled, .entries-text-controls-container .control-button.next-entry.disabled, .entries-text-controls-container .control-button.next-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.next-entry:disabled:after, .entries-text-controls-container .control-button.next-entry.disabled:after, .entries-text-controls-container .control-button.next-entry[disabled]:after {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:disabled:hover, .entries-text-controls-container .control-button.next-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.next-entry:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #7a8e52;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.next-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.cms-entry-back-button {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-back-button {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 112.5em) {
    .cms-entry-back-button {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .cms-entry-back-button:hover, .cms-entry-back-button.hover {
      color: #5F7B27;
      background-color: #f5f7ed;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-entry-back-button:hover .graduated-colour-edge .step, .cms-entry-back-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-entry-back-button:active, .cms-entry-back-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-entry-back-button:disabled, .cms-entry-back-button.disabled, .cms-entry-back-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-entry-back-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-entry-back-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.site-map {
  margin: 0 0 25px; }
  .site-map > ul {
    margin: 0;
    padding: 0; }
    .site-map > ul > li {
      padding: 20px 0; }
  .site-map:not(.suppress-border) > ul > li {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map:not(.suppress-border) > ul > li:only-child {
      border-width: 0; }
    .site-map:not(.suppress-border) > ul > li:last-child {
      border-color: transparent; }
    .site-map:not(.suppress-border) > ul > li:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .site-map:not(.suppress-border) > ul > li:hover a:before {
        border-color: #5F7B27;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
  .site-map ul {
    list-style: none;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map ul .parent > a, .site-map ul .parent > span {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 1.25rem;
      font-weight: 700;
      color: #5F7B27; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "Font Awesome Solid";
        color: #aeaeae;
        font-size: 20px;
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
    .site-map ul .parent > ul {
      margin-left: 30px; }
    .site-map ul .parent .child {
      padding: 7px 0; }
      .site-map ul .parent .child > a {
        font-size: 1rem;
        font-weight: 400;
        color: #000000; }
  .site-map .parent a:hover, .site-map ul .child > a:hover {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }

.cms-module .read-more-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #5F7B27;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid transparent;
  text-transform: none;
  -webkit-transition: color, border, background-color 0.8s;
  transition: color, border, background-color 0.8s; }
  .cms-module .read-more-button:hover {
    color: #DB651B;
    text-decoration: underline;
    border-color: transparent;
    background-color: transparent;
    -webkit-transition: color, border-color, background-color 0.6s;
    transition: color, border-color, background-color 0.6s; }
  .cms-module .read-more-button:active {
    color: #93b64d;
    background-color: transparent; }

.back-to-information {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #5F7B27;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .back-to-information {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 112.5em) {
    .back-to-information {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .back-to-information:hover, .back-to-information.hover {
      color: #5F7B27;
      background-color: #f5f7ed;
      border-color: #5F7B27;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .back-to-information:hover .graduated-colour-edge .step, .back-to-information.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .back-to-information:active, .back-to-information.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-to-information:disabled, .back-to-information.disabled, .back-to-information[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: #6d6d6d; }
  .back-to-information:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .back-to-information .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-container {
  margin: 12px 0 41px; }
  .cms-container p {
    font-size: 0.9375rem; }

div[style*="background-color"] .cms-content-container {
  padding: 0 25px; }
  @media screen and (min-width: 112.5em) {
    div[style*="background-color"] .cms-content-container {
      padding: 0 50px; } }

.cms-content-container h1 {
  margin: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6;
  background-color: transparent; }
  .cms-content-container h1:first-child {
    margin-top: 0; }
  .cms-content-container h1:only-child {
    margin: 0; }

.cms-content-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6; }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #DB651B;
  line-height: 1.6; }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

.cms-content-container h5 {
  margin: 15px 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h5:first-child {
    margin-top: 0; }
  .cms-content-container h5:only-child {
    margin: 0; }

.cms-content-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h6:first-child {
    margin-top: 0; }
  .cms-content-container h6:only-child {
    margin: 0; }

.cms-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .cms-content-container p img[style*="float:left"], .cms-content-container p img[style*="float: left"], .cms-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .cms-content-container p img[style*="float:right"], .cms-content-container p img[style*="float: right"], .cms-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .cms-content-container p img {
    margin: .2em 0; }
  .cms-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.cms-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 112.5em) {
    .cms-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .cms-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .cms-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-content-container blockquote:has(img) {
    text-align: left; }
  .cms-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 112.5em) {
    .cms-content-container blockquote {
      padding: 50px 60px; } }
  .cms-content-container blockquote + blockquote {
    margin-top: 15px; }
  .cms-content-container blockquote:before, .cms-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .cms-content-container blockquote:before {
    top: 0;
    left: 0; }
  .cms-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .cms-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 112.5em) {
      .cms-content-container blockquote img {
        text-align: left; } }

.cms-content-container p:not(:empty) + table, .cms-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.cms-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .cms-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .cms-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .cms-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .cms-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 112.5em) {
      .cms-content-container table.responsive-table {
        display: table; } }
    .cms-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 112.5em) {
        .cms-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .cms-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 112.5em) {
    .cms-content-container table td {
      padding: 10px; } }
  .cms-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 112.5em) {
      .cms-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .cms-content-container table tbody {
    background-color: transparent; }
    .cms-content-container table tbody th {
      background-color: transparent; }
    .cms-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 112.5em) {
      .cms-content-container table tbody tr {
        display: table-row; } }
  .cms-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 112.49875em) {
    .cms-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 112.49875em) {
    .cms-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .cms-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .cms-content-container table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.cms-content-container ul, .cms-content-container ol {
  text-align: left; }

.cms-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .cms-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .cms-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .cms-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #5F7B27;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .cms-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .cms-content-container ol ol ol {
      list-style-type: lower-roman; }
      .cms-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .cms-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.cms-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

.cms-content-container ul + h1, .cms-content-container ol + h1 {
  margin-top: 20px; }

.cms-content-container ul + h2, .cms-content-container ol + h2 {
  margin-top: 20px; }

.cms-content-container ul + h3, .cms-content-container ol + h3 {
  margin-top: 10px; }

.cms-content-container ul + h4, .cms-content-container ol + h4 {
  margin-top: 10px; }

.cms-content-container ul + h5, .cms-content-container ol + h5 {
  margin-top: 10px; }

.cms-content-container ul + h6, .cms-content-container ol + h6 {
  margin-top: 15px; }

.cms-content-container dl {
  text-align: left; }

.cms-content-container.success {
  margin-bottom: 70px; }
  .cms-content-container.success h2 {
    color: #484848; }
  .cms-content-container.success .amount-paid {
    font-weight: 700;
    color: #12811f; }

.cms-content-container.alert {
  margin-bottom: 35px; }
  .cms-content-container.alert h2 {
    margin: 0 0 5px;
    color: #484848; }
  .cms-content-container.alert p {
    color: #484848; }
  .cms-content-container.alert .amount-paid {
    font-weight: 700;
    color: #b20c0c; }

.cms-content-container.center-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center; }

.cms-content-container.error {
  color: #b20c0c; }
  .cms-content-container.error h2, .cms-content-container.error h3, .cms-content-container.error h4, .cms-content-container.error h5 {
    color: #b20c0c; }

.cms-content-container.gutter-y {
  margin: 12px 0 41px; }

.cms-content-container.page-heading-content {
  padding: 0 0 15px; }

.cms-content-container.no-side-padding {
  padding-right: 0;
  padding-left: 0; }

.cms-content-container.outline {
  padding: 15px 10px;
  border: 2px solid #eeeeee;
  border-radius: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .cms-content-container.outline {
      padding: 30px 20px; } }
  .cms-content-container.outline:hover {
    border-color: #959595;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.cms-content-container p {
  width: 100%; }

a {
  font-size: 0.9375rem;
  color: var(--primary-colour-lightness-0, var(--primary-colour-lightness-0)); }
  a:hover {
    color: var(--secondary-colour-lightness-0); }
  a:active {
    color: var(--primary-colour-lightness-2); }

.cms-content-container a:hover {
  text-decoration: underline; }

.cms-content-container a[class*="-button"]:hover {
  text-decoration: none; }

.cms-content-container p:first-of-type {
  margin-top: 0;
  padding-top: 0; }

.cms-content-container p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0; }

.cms-content-container + table {
  margin-top: 15px; }

.cms-content-container + .page-buttons-container {
  margin-top: 20px; }

/************************************** Popups ************************************/
/**********************************************************************************/
#popupOverlay {
  background-color: rgba(72, 72, 72, 0.5);
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 50000; }
  #popupOverlay:after {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0; }

#popupContainer {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.3em;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  display: inline-block;
  margin: 0 2%;
  max-width: 800px;
  overflow: hidden;
  position: relative;
  text-align: left;
  vertical-align: middle; }
  @media screen and (min-width: 112.5em) {
    #popupContainer {
      width: 840px; } }
  #popupContainer.standard {
    max-height: 90%; }
    #popupContainer.standard #popupContent {
      padding: 20px; }
      #popupContainer.standard #popupContent .contentContainer {
        max-height: 50vh;
        overflow-y: auto; }
  #popupContainer.scroll #popupContent {
    max-height: 90vh;
    padding: 20px;
    overflow-y: scroll; }
    #popupContainer.scroll #popupContent .contentContainer {
      max-height: 50vh;
      overflow-y: auto; }
  #popupContainer legend {
    padding: 10px 5px;
    width: calc(100% - 10px); }
  #popupContainer form {
    width: 100%;
    margin: auto; }
    @media screen and (min-width: 112.5em) {
      #popupContainer form {
        width: 740px; } }
  #popupContainer .confirmationContainer {
    background-color: #ffffff;
    color: #12811f;
    display: inline-block;
    line-height: 1em;
    margin: 0 1em 0 0;
    padding: 13px 10px; }
  #popupContainer .popupButtonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    #popupContainer .popupButtonContainer .popupCloseButton {
      line-height: 1em;
      position: relative; }

.closeButton.popupCloseButton {
  width: 70px;
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .closeButton.popupCloseButton:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:hover:before {
    color: #5F7B27;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:active:before {
    color: #DB651B;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.secondary-button.popupCloseButton:before {
  content: "";
  display: none; }

#checkout-content-container {
  width: 100%;
  position: relative; }

.section-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px; }
  .section-buttons-container a {
    margin-bottom: 0; }

.formFieldContainer {
  width: 100%; }

#checkoutForm select {
  padding: 0 0 0 25px; }

#checkoutForm .changeDetails {
  margin: 5px 0 15px; }

#checkoutForm #checkoutFormDetails {
  border: 1px solid rgba(140, 142, 138, 0.2); }

#checkoutForm .checkout-details {
  width: 100%;
  text-align: center;
  font-size: 0.875rem; }

#checkoutForm #deliveryDetailsContainer {
  margin: 20px 0 35px; }
  #checkoutForm #deliveryDetailsContainer h3 {
    position: relative;
    font-size: 1.125rem;
    font-style: italic;
    color: #5F7B27;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    #checkoutForm #deliveryDetailsContainer h3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
      background-color: #dadada; }

#checkoutForm #checkoutButtonContainer {
  margin: 75px 0 0; }
  #checkoutForm #checkoutButtonContainer #checkoutSubmitButton {
    width: auto;
    display: block;
    padding: 15px 25px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #5F7B27;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:enabled:hover {
      border: 1px solid #5F7B27;
      background-color: rgba(95, 123, 39, 0.5);
      color: #5F7B27;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#editDetailsFormContainer {
  max-width: 600px;
  max-height: 800px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  padding: 10px 10px 20px;
  overflow-y: scroll;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  #editDetailsFormContainer h1 {
    position: relative;
    padding: 70.4px 0 0;
    text-align: center;
    font-size: 1.5625rem;
    color: #959595; }
    #editDetailsFormContainer h1:before {
      content: '\f4ff';
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      font-size: 44px;
      font-family: "Font Awesome Solid";
      color: #5F7B27; }
  #editDetailsFormContainer .buttonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer button {
        margin: 0 10px; } }
  #editDetailsFormContainer #changeDetailsCancelButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #aeaeae;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsCancelButton:enabled:hover {
      border: 1px solid #aeaeae;
      background-color: rgba(95, 123, 39, 0.5);
      color: #aeaeae;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsCancelButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsSubmitButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #5F7B27;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #5F7B27;
      background-color: rgba(95, 123, 39, 0.5);
      color: #5F7B27;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsClose {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #5F7B27;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #editDetailsFormContainer #changeDetailsClose:enabled:hover {
      border: 1px solid #5F7B27;
      background-color: rgba(95, 123, 39, 0.5);
      color: #5F7B27;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsClose:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#changeDetails.success h2 {
  width: 100%;
  display: block;
  padding: 15px 0;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: #5F7B27;
  background-color: #f4f6ee; }

#accountPostcodeLookupAddressContainer {
  width: 100%; }

#terms {
  margin: 50px 0 0; }

#deliveryDetailsContainer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  #deliveryDetailsContainer.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

#deliveryContainer {
  position: relative;
  display: none; }

#deliveryUpgradeContainer {
  width: 100%; }

.validationError {
  width: 100%;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  font-weight: bold;
  font-size: 0.75rem !important;
  text-align: center;
  color: #b20c0c; }

.delivery-option {
  width: 260px !important; }

.checkout-complete-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#billPostcodeLookupAddressContainer {
  width: 100%; }

.edit.checkoutPopupLink {
  margin-bottom: 15px; }

.checkout-returning-customer-container {
  margin-bottom: 20px;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #f3f3f3; }
  .checkout-returning-customer-container p, .checkout-returning-customer-container h2 {
    padding: 0; }
  .checkout-returning-customer-container:hover .content-container:before {
    color: #5F7B27;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .checkout-returning-customer-container:hover .quaternary-button:not(:hover) {
    border-color: #c8c8c8; }
  .checkout-returning-customer-container .content-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 25px;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .checkout-returning-customer-container .content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: left; } }
    .checkout-returning-customer-container .content-container h2 {
      margin: 0;
      font-size: 1.875rem;
      font-weight: 300;
      line-height: 1;
      color: #5F7B27; }
      @media screen and (min-width: 112.5em) {
        .checkout-returning-customer-container .content-container h2 {
          margin-right: 15px; } }
    .checkout-returning-customer-container .content-container p {
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 400;
      color: #5F7B27; }
      @media screen and (min-width: 112.5em) {
        .checkout-returning-customer-container .content-container p {
          margin: auto 25px 0 0; } }
    .checkout-returning-customer-container .content-container .quaternary-button:after {
      content: "";
      display: inline-block;
      margin-left: 5px;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #5F7B27; }
    .checkout-returning-customer-container .content-container:before {
      content: "";
      display: block;
      margin: 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 32px;
      line-height: 1;
      color: #b4c17f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 120em) {
        .checkout-returning-customer-container .content-container:before {
          margin: 0 20px 0 0; } }

.errorContainer.postcodeLookupSelectContainer {
  margin: 0 auto;
  padding: 10px 0;
  text-align: center; }

.delivery-read-only {
  position: relative; }

/*
----- 404 ------ 
- Are you lost? 
*/
.error-not-found-logo {
  width: 200px;
  height: 100px;
  margin-bottom: 52.5px; }
  @media screen and (min-width: 112.5em) {
    .error-not-found-logo {
      margin-bottom: 105px; } }

.error-not-found-container {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  background-image: url("/template/content/development/images/icons/404.svg");
  background-position: top left;
  background-size: 90px 30px; }

.error-not-found-content-container {
  width: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); }
  @media screen and (min-width: 112.5em) {
    .error-not-found-content-container {
      width: 800px; } }
  .error-not-found-content-container .cms-content-container h1 {
    margin: 0;
    font-size: 12.5rem;
    font-weight: 700;
    color: #5F7B27;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #DB651B; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #5F7B27; }
  .error-not-found-content-container .button-container {
    margin: 62.5px 0 0; }
    @media screen and (min-width: 112.5em) {
      .error-not-found-content-container .button-container {
        margin: 125px 0 0; } }

/*
----- Light box  -----
- This get displayed on product pages to display the full resolution product images.
Funtionality this holds:
- Light box active / inactive states.
- The overlay styles.
- Additional Images.
- 360 image support.
- The header that gets generated.
- Video player.
*/
#lightbox-overlay.active {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: #000000;
  opacity: 0.7;
  z-index: 10000; }

.lightbox {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .lightbox.active {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media print, screen and (max-width: 39.99875em) {
      .lightbox.active {
        max-height: 50%;
        max-width: 100%; } }

#lightbox-header {
  width: 100%;
  display: block;
  position: relative;
  background-color: #93b64d;
  z-index: 5000; }
  #lightbox-header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    list-style: none; }
  #lightbox-header #lightbox-count {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    font-size: 1rem;
    color: #ffffff;
    letter-spacing: 7px; }
    @media print, screen and (min-width: 40em) {
      #lightbox-header #lightbox-count {
        font-size: 1.25rem; } }
  #lightbox-header #lightbox-close-button-container {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }

#lightbox-content-outer-container {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000; }

#lightbox-content-inner-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.reel-overlay {
  width: auto !important;
  height: auto !important;
  margin: 0 auto; }

.image.lightbox-enabled:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  padding: 2px 8px;
  background-color: rgba(255, 255, 255, 0.85);
  font-family: "Font Awesome Solid";
  font-size: 22px;
  color: #5F7B27;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #dadada;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  z-index: 1000; }

.image.lightbox-enabled:hover:before {
  color: #DB651B;
  border-color: #5F7B27; }

.lightbox #lightbox-close-button-container {
  position: relative;
  margin: auto 15px; }

.lightbox .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; }
  .lightbox .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #ffffff;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .lightbox .close-button:hover:before {
    color: #ffffff;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .lightbox .close-button:active:before {
    color: #ffffff;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

@media print, screen and (max-width: 99.99875em) {
  .lightbox .reel-overlay {
    max-width: 100%; } }

.lightbox .lightbox-content {
  max-height: calc(100% - var(--lightbox-header-height) - 10px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 10px 0;
  padding: 0;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .lightbox .lightbox-content {
      max-height: none;
      -webkit-box-orient: unset;
      -webkit-box-direction: unset;
          -ms-flex-direction: unset;
              flex-direction: unset;
      margin-left: 100px; } }
  @media screen and (min-width: 112.5em) {
    .lightbox .lightbox-content {
      margin: 20px 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 100em) {
    .lightbox .lightbox-content {
      -ms-flex-item-align: auto;
          align-self: auto;
      margin: auto; } }
  .lightbox .lightbox-content .lightBoxSlide {
    display: none; }
    .lightbox .lightbox-content .lightBoxSlide.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      max-height: 70vh; }
      @media print, screen and (min-width: 40em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          max-width: calc(100vw - 100px);
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 80vh; } }
      @media screen and (min-width: 112.5em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 85vh; } }
      .lightbox .lightbox-content .lightBoxSlide.active.is-video {
        width: 100vw; }
        @media print, screen and (min-width: 40em) {
          .lightbox .lightbox-content .lightBoxSlide.active.is-video {
            width: 60vw; } }
    .lightbox .lightbox-content .lightBoxSlide img, .lightbox .lightbox-content .lightBoxSlide #lightbox-video-player {
      max-height: 100%;
      margin: 0;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -o-object-fit: contain;
         object-fit: contain; }
  .lightbox .lightbox-content .prev,
  .lightbox .lightbox-content .next {
    width: 25px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #ffffff;
    border-style: solid;
    border-color: #5F7B27;
    cursor: pointer;
    opacity: 0.8;
    -webkit-transition: opacity 0.8s, background-color 0.8s, border-color 0.6s;
    transition: opacity 0.8s, background-color 0.8s, border-color 0.6s; }
    @media screen and (min-width: 112.5em) {
      .lightbox .lightbox-content .prev,
      .lightbox .lightbox-content .next {
        width: 50px;
        height: 70px; } }
    .lightbox .lightbox-content .prev:before,
    .lightbox .lightbox-content .next:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #5F7B27;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 112.5em) {
        .lightbox .lightbox-content .prev:before,
        .lightbox .lightbox-content .next:before {
          font-size: 26px; } }
    .lightbox .lightbox-content .prev:not(.disabled):hover,
    .lightbox .lightbox-content .next:not(.disabled):hover {
      background-color: #DB651B;
      border-color: #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .lightbox .lightbox-content .prev:not(.disabled):hover:before,
      .lightbox .lightbox-content .next:not(.disabled):hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .lightbox .lightbox-content .prev:not(.disabled):active,
    .lightbox .lightbox-content .next:not(.disabled):active {
      background-color: #5F7B27;
      border-color: #ffffff; }
      .lightbox .lightbox-content .prev:not(.disabled):active:before,
      .lightbox .lightbox-content .next:not(.disabled):active:before {
        color: #ffffff; }
    .lightbox .lightbox-content .prev.disabled,
    .lightbox .lightbox-content .next.disabled {
      opacity: 0.4;
      background: transparent;
      border-color: #6d6d6d;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      cursor: no-drop; }
  .lightbox .lightbox-content .prev {
    left: 0;
    border-radius: 0 5px 5px 0;
    border-width: 2px 2px 2px 0; }
    .lightbox .lightbox-content .prev:before {
      content: ""; }
  .lightbox .lightbox-content .next {
    right: 0;
    border-radius: 5px 0 0 5px;
    border-width: 2px 0 2px 2px; }
    .lightbox .lightbox-content .next:before {
      content: ""; }

.lightbox .slidesContainer {
  -webkit-box-shadow: -20px 6px 60px -13px #000000;
          box-shadow: -20px 6px 60px -13px #000000; }

.lightbox #lightboxPagerContainer {
  height: auto;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  list-style: none; }
  @media screen and (min-width: 112.5em) {
    .lightbox #lightboxPagerContainer {
      width: auto;
      border-radius: 0 0 0 0; } }
  .lightbox #lightboxPagerContainer.disabled {
    display: none; }
  .lightbox #lightboxPagerContainer.vertical {
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    background-color: #ffffff; }
    .lightbox #lightboxPagerContainer.vertical li {
      padding-right: 5px; }
      .lightbox #lightboxPagerContainer.vertical li.active img {
        opacity: 0.4; }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-y {
      width: 10px;
      position: absolute;
      left: 0;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.vertical .ps__rail-y .ps__thumb-y {
        width: 10px;
        position: absolute;
        background-color: rgba(95, 123, 39, 0.7); }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-x {
      display: none; }
  .lightbox #lightboxPagerContainer.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .lightbox #lightboxPagerContainer.horizontal {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .lightbox #lightboxPagerContainer.horizontal li {
      position: relative;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      @media print, screen and (min-width: 40em) {
        .lightbox #lightboxPagerContainer.horizontal li {
          -webkit-box-flex: inherit;
              -ms-flex: inherit;
                  flex: inherit; } }
      .lightbox #lightboxPagerContainer.horizontal li.active {
        background-color: #ffffff; }
        .lightbox #lightboxPagerContainer.horizontal li.active img {
          opacity: 0.4; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-y {
      display: none; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-x {
      width: 100%;
      height: 10px;
      position: absolute;
      top: auto !important;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.horizontal .ps__rail-x .ps__thumb-x {
        height: 10px;
        position: absolute;
        background-color: rgba(95, 123, 39, 0.7); }

.lightbox-pager-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  cursor: pointer; }
  @media print, screen and (min-width: 40em) {
    .lightbox-pager-item {
      width: 100px; } }
  @media screen and (min-width: 112.5em) {
    .lightbox-pager-item {
      width: 170px; } }
  .lightbox-pager-item img {
    max-height: 100%; }
    @media screen and (min-width: 112.5em) {
      .lightbox-pager-item img {
        max-width: 25vw;
        max-height: 20vh; } }
  .lightbox-pager-item.active {
    cursor: default; }
  @media screen and (min-width: 112.5em) {
    .lightbox-pager-item.is-video {
      width: auto; } }
  .lightbox-pager-item.is-video img {
    height: 50px;
    margin: 10px; }
    @media screen and (min-width: 112.5em) {
      .lightbox-pager-item.is-video img {
        height: auto;
        margin: 20px; } }
  .lightbox-pager-item.image-360 {
    position: relative; }
    .lightbox-pager-item.image-360:hover:after {
      display: none; }
    .lightbox-pager-item.image-360:after {
      content: '';
      max-width: 55px;
      max-height: 55px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }

.lightbox-background {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(174, 174, 174, 0.3); }

#lightbox-video-player {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9; }

/*
----- Magnifier ----- 
This is primarily used on the product page when you hover over the main image.
*/
.img-magnifier-container {
  position: relative; }

.img-magnifier-glass {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: crosshair; }

.product-enquiry-main-image.magnification-container.image:hover:before {
  padding: 2px 4px;
  font-size: 11px; }

.image-magnification {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  visibility: hidden; }
  .image-magnification.active {
    visibility: visible; }
  .image-magnification .magnifying-glass {
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    z-index: 1;
    cursor: crosshair; }

.magnifier-controls-container {
  position: absolute;
  bottom: 0;
  right: 0; }
  .magnifier-controls-container .magnifier-control {
    display: block;
    padding: 20px;
    border: 1px solid #5F7B27;
    cursor: pointer; }
    .magnifier-controls-container .magnifier-control:before {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 30px;
      color: #5F7B27;
      line-height: 0; }
    .magnifier-controls-container .magnifier-control.de-increment:before {
      content: ""; }
    .magnifier-controls-container .magnifier-control.increment:before {
      content: ""; }

/*
----- bxSlider ( Carousels ) ------ 
- https://bxslider.com/
- This handles all the display styles for carousels / slideshows around express this can be in a module or additional images on the product page, the content is not restricted to just images but can extend to display product / ebg's. 
*/
.carousel {
  width: 100%;
  position: relative;
  --module-gutter: 10px; }
  .carousel.bx-underline .collection-item .content-container {
    border-width: 0;
    border-style: solid;
    border-color: #dadada;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .carousel.bx-underline .collection-item .content-container:hover {
      border-color: #5F7B27;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .carousel.bx-shadow .collection-item .content-container {
    height: 100%;
    position: relative;
    margin: auto;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .carousel.bx-shadow .collection-item .content-container:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .carousel.transition-mode-horizontal .collection-item {
    height: 100%; }
  .carousel.transition-mode-horizonal .bx-viewport, .carousel.transition-mode-fade .bx-viewport {
    overflow-y: visible !important;
    overflow-x: clip !important; }
  @media print, screen and (min-width: 40em) {
    .carousel {
      --module-gutter: 15px; } }
  @media screen and (min-width: 112.5em) {
    .carousel {
      --module-gutter: 15px; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container [data-content-container], .product-carousel-module.multimedia-right .content-container [data-content-container], .cms-carousel-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container a:first-child, .product-carousel-module.multimedia-right .content-container a:first-child, .cms-carousel-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(2), .product-carousel-module.multimedia-right .content-container a:nth-child(2), .cms-carousel-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(3), .product-carousel-module.multimedia-right .content-container a:nth-child(3), .cms-carousel-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(4), .product-carousel-module.multimedia-right .content-container a:nth-child(4), .cms-carousel-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(5), .product-carousel-module.multimedia-right .content-container a:nth-child(5), .cms-carousel-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container .stock-indicator, .product-carousel-module.multimedia-right .content-container .stock-indicator, .cms-carousel-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container .quantity-container, .product-carousel-module.multimedia-right .content-container .quantity-container, .cms-carousel-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container .unit-of-measure, .product-carousel-module.multimedia-right .content-container .unit-of-measure, .cms-carousel-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-right .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .content-container .stockline-view-button, [data-bxSlider].multimedia-right .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .content-container .stockline-view-button, .product-carousel-module.multimedia-right .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .price, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .price, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

[data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container:hover, .product-carousel-module.multimedia-right .collection-item .content-container:hover, .cms-carousel-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  [data-bxSlider].multimedia-right .collection-item .content-container > a:first-child, .product-carousel-module.multimedia-right .collection-item .content-container > a:first-child, .cms-carousel-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product .description, .product-carousel-module.multimedia-right .collection-item .content-container.product .description, .cms-carousel-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .callbackContainer, .product-carousel-module.multimedia-right .collection-item .content-container .callbackContainer, .cms-carousel-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container p, .product-carousel-module.multimedia-right .collection-item .content-container p, .cms-carousel-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .group-description, .product-carousel-module.multimedia-right .collection-item .content-container .group-description, .cms-carousel-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-right .collection-item .content-container .image img, .product-carousel-module.multimedia-right .collection-item .content-container .image img, .cms-carousel-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .description, [data-bxSlider].multimedia-right .collection-item .content-container .code, [data-bxSlider].multimedia-right .collection-item .content-container .prices, [data-bxSlider].multimedia-right .collection-item .content-container .stock-indicator, .product-carousel-module.multimedia-right .collection-item .content-container .description, .product-carousel-module.multimedia-right .collection-item .content-container .code, .product-carousel-module.multimedia-right .collection-item .content-container .prices, .product-carousel-module.multimedia-right .collection-item .content-container .stock-indicator, .cms-carousel-module.multimedia-right .collection-item .content-container .description, .cms-carousel-module.multimedia-right .collection-item .content-container .code, .cms-carousel-module.multimedia-right .collection-item .content-container .prices, .cms-carousel-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-right .collection-item .content-container .read-more-content, .product-carousel-module.multimedia-right .collection-item .content-container .read-more-content, .cms-carousel-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

[data-bxSlider].multimedia-left .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container a:first-child, .product-carousel-module.multimedia-left .content-container a:first-child, .cms-carousel-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(2), .product-carousel-module.multimedia-left .content-container a:nth-child(2), .cms-carousel-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(3), .product-carousel-module.multimedia-left .content-container a:nth-child(3), .cms-carousel-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(4), .product-carousel-module.multimedia-left .content-container a:nth-child(4), .cms-carousel-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(5), .product-carousel-module.multimedia-left .content-container a:nth-child(5), .cms-carousel-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container .quantity-container, .product-carousel-module.multimedia-left .content-container .quantity-container, .cms-carousel-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container .unit-of-measure, .product-carousel-module.multimedia-left .content-container .unit-of-measure, .cms-carousel-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-left .collection-item.ebg .price, .product-carousel-module.multimedia-left .collection-item.ebg .price, .cms-carousel-module.multimedia-left .collection-item.ebg .price {
  display: none; }

[data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  [data-bxSlider].multimedia-left .content-container > a:first-child, .product-carousel-module.multimedia-left .content-container > a:first-child, .cms-carousel-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-left .content-container.product .description, .product-carousel-module.multimedia-left .content-container.product .description, .cms-carousel-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .callbackContainer, .product-carousel-module.multimedia-left .content-container .callbackContainer, .cms-carousel-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-left .content-container p, .product-carousel-module.multimedia-left .content-container p, .cms-carousel-module.multimedia-left .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-left .content-container .group-description, .product-carousel-module.multimedia-left .content-container .group-description, .cms-carousel-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .description, .product-carousel-module.multimedia-left .content-container .description, .cms-carousel-module.multimedia-left .content-container .description {
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-left .content-container .image img, .product-carousel-module.multimedia-left .content-container .image img, .cms-carousel-module.multimedia-left .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-left .content-container .code, .product-carousel-module.multimedia-left .content-container .code, .cms-carousel-module.multimedia-left .content-container .code {
    padding-right: 10px;
    padding-left: 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .prices, .product-carousel-module.multimedia-left .content-container .prices, .cms-carousel-module.multimedia-left .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider].multimedia-left .content-container .prices .price-container, .product-carousel-module.multimedia-left .content-container .prices .price-container, .cms-carousel-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 10px;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-left .content-container .read-more-content, .product-carousel-module.multimedia-left .content-container .read-more-content, .cms-carousel-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

[data-bxSlider].multimedia-bottom .content-container > a:first-of-type, .product-carousel-module.multimedia-bottom .content-container > a:first-of-type, .cms-carousel-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 10px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

[data-bxSlider].multimedia-bottom .image, .product-carousel-module.multimedia-bottom .image, .cms-carousel-module.multimedia-bottom .image {
  margin: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container a:first-child, .product-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .collection-item.ebg .content-container a.description, .product-carousel-module.minified-layout .collection-item.ebg .content-container a.description, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container [data-content-container], .product-carousel-module.minified-layout .content-container [data-content-container], .cms-carousel-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container a:first-child, .product-carousel-module.minified-layout .content-container a:first-child, .cms-carousel-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(2), .product-carousel-module.minified-layout .content-container a:nth-child(2), .cms-carousel-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(3), .product-carousel-module.minified-layout .content-container a:nth-child(3), .cms-carousel-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(4), .product-carousel-module.minified-layout .content-container a:nth-child(4), .cms-carousel-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(5), .product-carousel-module.minified-layout .content-container a:nth-child(5), .cms-carousel-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container .stock-indicator, .product-carousel-module.minified-layout .content-container .stock-indicator, .cms-carousel-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container .quantity-container, .product-carousel-module.minified-layout .content-container .quantity-container, .cms-carousel-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container .unit-of-measure, .product-carousel-module.minified-layout .content-container .unit-of-measure, .cms-carousel-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container .not-logged-in-container, [data-bxSlider].minified-layout .content-container .stockline-view-button, [data-bxSlider].minified-layout .content-container .enquiry-button-container, .product-carousel-module.minified-layout .content-container .not-logged-in-container, .product-carousel-module.minified-layout .content-container .stockline-view-button, .product-carousel-module.minified-layout .content-container .enquiry-button-container, .cms-carousel-module.minified-layout .content-container .not-logged-in-container, .cms-carousel-module.minified-layout .content-container .stockline-view-button, .cms-carousel-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].minified-layout .content-container.product, .product-carousel-module.minified-layout .content-container.product, .cms-carousel-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 112.5em) {
  [data-bxSlider].minified-layout .content-container, .product-carousel-module.minified-layout .content-container, .cms-carousel-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

[data-bxSlider].minified-layout .content-container > a:first-of-type, .product-carousel-module.minified-layout .content-container > a:first-of-type, .cms-carousel-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container, .product-carousel-module.minified-layout .collection-item.ebg .content-container, .cms-carousel-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .description, .product-carousel-module.minified-layout .collection-item.ebg .description, .cms-carousel-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

[data-bxSlider].minified-layout .image, .product-carousel-module.minified-layout .image, .cms-carousel-module.minified-layout .image {
  width: 110px;
  margin: 0; }

[data-bxSlider].minified-layout .description, [data-bxSlider].minified-layout a:first-child, .product-carousel-module.minified-layout .description, .product-carousel-module.minified-layout a:first-child, .cms-carousel-module.minified-layout .description, .cms-carousel-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

[data-bxSlider] .image-container, .product-carousel-module .image-container, .cms-carousel-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  [data-bxSlider] .image-container:hover, .product-carousel-module .image-container:hover, .cms-carousel-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

[data-bxSlider] [data-content-container], .product-carousel-module [data-content-container], .cms-carousel-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  [data-bxSlider] [data-content-container]:has(.read-more), .product-carousel-module [data-content-container]:has(.read-more), .cms-carousel-module [data-content-container]:has(.read-more) {
    height: 300px; }
  [data-bxSlider] [data-content-container] a, .product-carousel-module [data-content-container] a, .cms-carousel-module [data-content-container] a {
    max-height: 100%; }
  [data-bxSlider] [data-content-container] p, .product-carousel-module [data-content-container] p, .cms-carousel-module [data-content-container] p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .collection-item.ebg:has(.description:empty) .content-container, .product-carousel-module .collection-item.ebg:has(.description:empty) .content-container, .cms-carousel-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

[data-bxSlider] .collection-item.ebg:hover .description, .product-carousel-module .collection-item.ebg:hover .description, .cms-carousel-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

[data-bxSlider] .collection-item.ebg:active .description, .product-carousel-module .collection-item.ebg:active .description, .cms-carousel-module .collection-item.ebg:active .description {
  background-color: transparent; }

[data-bxSlider] .collection-item.ebg .content-container, .product-carousel-module .collection-item.ebg .content-container, .cms-carousel-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

[data-bxSlider] .collection-item.ebg .description, .product-carousel-module .collection-item.ebg .description, .cms-carousel-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: transparent;
  text-transform: none;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  [data-bxSlider] .collection-item.ebg .description:not(:empty), .product-carousel-module .collection-item.ebg .description:not(:empty), .cms-carousel-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 15px 10px; }

[data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
      width: 100%; } }
  [data-bxSlider] .content-container .code, .product-carousel-module .content-container .code, .cms-carousel-module .content-container .code {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .code:not(:empty) + .description, .product-carousel-module .content-container .code:not(:empty) + .description, .cms-carousel-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  [data-bxSlider] .content-container .description, .product-carousel-module .content-container .description, .cms-carousel-module .content-container .description {
    padding: 10px 0; }
  [data-bxSlider] .content-container .specification, .product-carousel-module .content-container .specification, .cms-carousel-module .content-container .specification {
    padding-right: 10px;
    padding-left: 10px; }
    [data-bxSlider] .content-container .specification:not(:empty), .product-carousel-module .content-container .specification:not(:empty), .cms-carousel-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  [data-bxSlider] .content-container .prices, .product-carousel-module .content-container .prices, .cms-carousel-module .content-container .prices {
    padding-right: 10px;
    padding-left: 10px; }
  [data-bxSlider] .content-container .stock-indicator, .product-carousel-module .content-container .stock-indicator, .cms-carousel-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 10px;
    text-align: left; }
    [data-bxSlider] .content-container .stock-indicator + .not-logged-in-container, .product-carousel-module .content-container .stock-indicator + .not-logged-in-container, .cms-carousel-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    [data-bxSlider] .content-container .stock-indicator a, .product-carousel-module .content-container .stock-indicator a, .cms-carousel-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    [data-bxSlider] .content-container .stock-indicator button, .product-carousel-module .content-container .stock-indicator button, .cms-carousel-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 10px 0; }
    @media screen and (min-width: 112.5em) {
      [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  [data-bxSlider] .content-container .prices + .not-logged-in-container, [data-bxSlider] .content-container .prices + .stockline-view-button, [data-bxSlider] .content-container .prices + .enquiry-button-container, .product-carousel-module .content-container .prices + .not-logged-in-container, .product-carousel-module .content-container .prices + .stockline-view-button, .product-carousel-module .content-container .prices + .enquiry-button-container, .cms-carousel-module .content-container .prices + .not-logged-in-container, .cms-carousel-module .content-container .prices + .stockline-view-button, .cms-carousel-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  [data-bxSlider] .content-container .not-logged-in-container, [data-bxSlider] .content-container .stockline-view-button, [data-bxSlider] .content-container .enquiry-button-container, .product-carousel-module .content-container .not-logged-in-container, .product-carousel-module .content-container .stockline-view-button, .product-carousel-module .content-container .enquiry-button-container, .cms-carousel-module .content-container .not-logged-in-container, .cms-carousel-module .content-container .stockline-view-button, .cms-carousel-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  [data-bxSlider] .content-container.minified .image, .product-carousel-module .content-container.minified .image, .cms-carousel-module .content-container.minified .image {
    width: 110px; }
  [data-bxSlider] .content-container:hover .description, [data-bxSlider] .content-container:hover .read-more, .product-carousel-module .content-container:hover .description, .product-carousel-module .content-container:hover .read-more, .cms-carousel-module .content-container:hover .description, .cms-carousel-module .content-container:hover .read-more {
    color: #5F7B27;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  [data-bxSlider] .content-container:active .description, .product-carousel-module .content-container:active .description, .cms-carousel-module .content-container:active .description {
    color: #DB651B; }
  [data-bxSlider] .content-container.image, .product-carousel-module .content-container.image, .cms-carousel-module .content-container.image {
    background-color: transparent; }
  [data-bxSlider] .content-container.product, .product-carousel-module .content-container.product, .cms-carousel-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    [data-bxSlider] .content-container.product .group-description, .product-carousel-module .content-container.product .group-description, .cms-carousel-module .content-container.product .group-description {
      padding: 10px 10px 5px; }
    [data-bxSlider] .content-container.product a.group-description + a:has(.description) .description, .product-carousel-module .content-container.product a.group-description + a:has(.description) .description, .cms-carousel-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    [data-bxSlider] .content-container.product .description, .product-carousel-module .content-container.product .description, .cms-carousel-module .content-container.product .description {
      padding: 15px 10px; }
      [data-bxSlider] .content-container.product .description:is(:empty), .product-carousel-module .content-container.product .description:is(:empty), .cms-carousel-module .content-container.product .description:is(:empty) {
        padding: 0; }
  [data-bxSlider] .content-container:hover, .product-carousel-module .content-container:hover, .cms-carousel-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

[data-bxSlider] .collection-image-container, .product-carousel-module .collection-image-container, .cms-carousel-module .collection-image-container {
  width: 100%; }

[data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 0; }
  @media screen and (min-width: 112.5em) {
    [data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
      margin: 0; } }
  [data-bxSlider] .image img, .product-carousel-module .image img, .cms-carousel-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

[data-bxSlider] .label-value-pair-container, .product-carousel-module .label-value-pair-container, .cms-carousel-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 10px;
  padding-left: 10px; }
  [data-bxSlider] .label-value-pair-container .label, .product-carousel-module .label-value-pair-container .label, .cms-carousel-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  [data-bxSlider] .label-value-pair-container .value, .product-carousel-module .label-value-pair-container .value, .cms-carousel-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

[data-bxSlider] .department-description, .product-carousel-module .department-description, .cms-carousel-module .department-description {
  color: var(--primary-colour-lightness-0, #5F7B27);
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .department-description:hover, .product-carousel-module .department-description:hover, .cms-carousel-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

[data-bxSlider] .group-description, .product-carousel-module .group-description, .cms-carousel-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #5F7B27;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #DB651B; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .description p, .product-carousel-module .description p, .cms-carousel-module .description p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .read-more, .product-carousel-module .read-more, .cms-carousel-module .read-more {
  color: #484848; }

[data-bxSlider] .specification p, .product-carousel-module .specification p, .cms-carousel-module .specification p {
  margin: 0;
  padding: 0; }

[data-bxSlider] .code, .product-carousel-module .code, .cms-carousel-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 112.49875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label, .product-carousel-module .col-label + .prices p:only-child .label, .cms-carousel-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 112.49875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label + .value, .product-carousel-module .col-label + .prices p:only-child .label + .value, .cms-carousel-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

[data-bxSlider] .prices, .product-carousel-module .prices, .cms-carousel-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  [data-bxSlider] .prices p, .product-carousel-module .prices p, .cms-carousel-module .prices p {
    margin: 0;
    font-weight: 700; }
  [data-bxSlider] .prices .price-container, .product-carousel-module .prices .price-container, .cms-carousel-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.3; }
    [data-bxSlider] .prices .price-container:has(.vat), .product-carousel-module .prices .price-container:has(.vat), .cms-carousel-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    [data-bxSlider] .prices .price-container .label, .product-carousel-module .prices .price-container .label, .cms-carousel-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      [data-bxSlider] .prices .price-container .label:not(:empty), .product-carousel-module .prices .price-container .label:not(:empty), .cms-carousel-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media screen and (min-width: 112.5em) {
        [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
          text-align: right; } }
    [data-bxSlider] .prices .price-container.saving .label, [data-bxSlider] .prices .price-container.saving .value, .product-carousel-module .prices .price-container.saving .label, .product-carousel-module .prices .price-container.saving .value, .cms-carousel-module .prices .price-container.saving .label, .cms-carousel-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    [data-bxSlider] .prices .price-container.rrp .label, [data-bxSlider] .prices .price-container.rrp .value, .product-carousel-module .prices .price-container.rrp .label, .product-carousel-module .prices .price-container.rrp .value, .cms-carousel-module .prices .price-container.rrp .label, .cms-carousel-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    [data-bxSlider] .prices .price-container .label + .value, .product-carousel-module .prices .price-container .label + .value, .cms-carousel-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

[data-bxSlider] .price-container .value, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .value {
  font-size: 0.875rem; }

[data-bxSlider] .price-container .label, [data-bxSlider] .price-container .value, .product-carousel-module .price-container .label, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .label, .cms-carousel-module .price-container .value {
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

[data-bxSlider] .price, .product-carousel-module .price, .cms-carousel-module .price {
  margin: 0; }
  [data-bxSlider] .price .currency, .product-carousel-module .price .currency, .cms-carousel-module .price .currency {
    font-size: 1.625rem; }

[data-bxSlider] .vat, .product-carousel-module .vat, .cms-carousel-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

[data-bxSlider] form, [data-bxSlider] .not-logged-in-container, [data-bxSlider] .stockline-view-button, .product-carousel-module form, .product-carousel-module .not-logged-in-container, .product-carousel-module .stockline-view-button, .cms-carousel-module form, .cms-carousel-module .not-logged-in-container, .cms-carousel-module .stockline-view-button {
  margin: auto 0 0; }

[data-bxSlider] .addToBasket.icon, .product-carousel-module .addToBasket.icon, .cms-carousel-module .addToBasket.icon {
  margin: 0; }

[data-bxSlider] .favouritesContainer, .product-carousel-module .favouritesContainer, .cms-carousel-module .favouritesContainer {
  display: inline-block; }

[data-bxSlider] .quantity-container .control.select, .product-carousel-module .quantity-container .control.select, .cms-carousel-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  [data-bxSlider] .quantity-container .control.select .label, .product-carousel-module .quantity-container .control.select .label, .cms-carousel-module .quantity-container .control.select .label {
    display: none; }
  [data-bxSlider] .quantity-container .control.select .control-select-dropdown, .product-carousel-module .quantity-container .control.select .control-select-dropdown, .cms-carousel-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

[data-bxSlider] .quantity-free-text-container, .product-carousel-module .quantity-free-text-container, .cms-carousel-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  [data-bxSlider] .quantity-free-text-container .label, .product-carousel-module .quantity-free-text-container .label, .cms-carousel-module .quantity-free-text-container .label {
    display: none; }

@media screen and (min-width: 112.5em) {
  .bx-seperator .collection-item[aria-hidden=false] + .collection-item:before {
    content: '';
    width: 1px;
    height: 80%;
    background-color: #484848;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto; } }

.bx-viewport {
  z-index: 1; }
  .bx-viewport > div {
    height: 100%; }

[id$="-carousel-container"] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.carousel:not(.largeControls):not(.smallControls) .bx-controls {
  height: 30px; }
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    width: 30px;
    height: 30px; }

@media screen and (min-width: 112.5em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-prev {
    right: 36px; } }

@media screen and (min-width: 112.5em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-next {
    left: 36px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-prev {
    right: 37.5px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-next {
    left: 37.5px; } }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 45px; }
  @media screen and (min-width: 112.5em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 75px; } }

.carousel.largeControls .bx-controls .bx-prev:not(.disabled),
.carousel.largeControls .bx-controls .bx-next:not(.disabled) {
  width: 45px;
  height: 45px; }
  @media screen and (min-width: 112.5em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 75px;
      height: 75px; } }

.carousel.smallControls .bx-controls {
  height: 45px;
  width: 100px; }
  .carousel.smallControls .bx-controls .bx-prev:not(.disabled),
  .carousel.smallControls .bx-controls .bx-next:not(.disabled) {
    width: 45px;
    height: 45px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):hover,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):hover {
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      width: 12px;
      height: 12px; }
  @media screen and (min-width: 112.5em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #5F7B27;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-223deg);
              transform: rotate(-223deg); } }
  @media screen and (min-width: 112.5em) {
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #5F7B27;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-43deg);
              transform: rotate(-43deg); } }

.carousel:not(.smallControls) .bx-controls {
  width: 100%; }
  .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    background-color: #ffffff;
    opacity: 0.8;
    -webkit-transition: background-color 0.8s, opacity 0.8s, border-color 0.8s;
    transition: background-color 0.8s, opacity 0.8s, border-color 0.8s; }
    @media print, screen and (max-width: 112.49875em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    @media screen and (min-width: 112.5em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        opacity: 0.5;
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover {
      text-decoration: none;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      opacity: 0.8;
      -webkit-transition: background-color 0.6s, opacity 0.6s;
      transition: background-color 0.6s, opacity 0.6s; }
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover:before,
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover:before {
        border-color: #5F7B27; }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):active,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):active {
      background-color: #ffffff;
      opacity: 1; }

.bx-controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

.small-wide-controls .bx-controls .bx-prev:not(.disabled):before {
  content: "";
  font-size: 14px; }

.small-wide-controls .bx-controls .bx-next:not(.disabled):before {
  content: "";
  font-size: 14px; }

.bx-controls.disabled {
  display: none; }

.bx-controls .bx-prev:not(.disabled):before,
.bx-controls .bx-next:not(.disabled):before {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 14px;
  color: #5F7B27;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  -webkit-filter: drop-shadow(0);
          filter: drop-shadow(0); }
  @media screen and (min-width: 112.5em) {
    .bx-controls .bx-prev:not(.disabled):before,
    .bx-controls .bx-next:not(.disabled):before {
      font-size: 18px; } }

.bx-controls .bx-prev:not(.disabled):hover:before,
.bx-controls .bx-next:not(.disabled):hover:before {
  color: #5F7B27;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.bx-controls .bx-prev:not(.disabled):active:before,
.bx-controls .bx-next:not(.disabled):active:before {
  color: #5F7B27; }

.bx-controls .bx-prev {
  position: relative;
  float: left; }

.bx-controls .bx-prev:not(.disabled):before {
  content: ""; }

.bx-controls .bx-next {
  position: relative;
  float: right; }

.bx-controls .bx-next:not(.disabled):before {
  content: ""; }

.bx-prev, .bx-next {
  position: relative;
  z-index: 1;
  border-radius: 0; }

.bx-prev {
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    .bx-prev {
      padding: 0; } }

.bx-next {
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    .bx-next {
      padding: 0; } }

div[data-bxSlider][bx-column-count="1"] {
  --columns: 1; }

div[data-bxSlider][bx-column-count="2"] {
  --columns: 2; }

div[data-bxSlider][bx-column-count="3"] {
  --columns: 3; }

div[data-bxSlider][bx-column-count="4"] {
  --columns: 4; }

div[data-bxSlider][bx-column-count="5"] {
  --columns: 5; }

div[data-bxSlider][bx-column-count="6"] {
  --columns: 6; }

div[data-bxSlider][bx-column-count="7"] {
  --columns: 7; }

div[data-bxSlider][bx-column-count="8"] {
  --columns: 8; }

div[data-bxSlider][bx-column-count="9"] {
  --columns: 9; }

div[data-bxSlider][bx-column-count="10"] {
  --columns: 10; }

div[data-bxSlider][bx-column-count="11"] {
  --columns: 11; }

div[data-bxSlider][bx-column-count="12"] {
  --columns: 12; }

div[data-bxSlider]:not([data-initialised="true"]) {
  width: 100%;
  position: relative;
  display: grid;
  --small-columns: max(round(down, calc(var(--columns) / 2), 1), 1);
  --medium-columns: calc(var(--small-columns) + 1);
  grid-template-columns: repeat(var(--small-columns), minmax(0, 1fr));
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--medium-columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 112.5em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  div[data-bxSlider]:not([data-initialised="true"]) > * {
    visibility: hidden; }
  div[data-bxSlider]:not([data-initialised="true"]):after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    display: block; }
  div[data-bxSlider]:not([data-initialised="true"]):before {
    content: "";
    width: 42px;
    height: 42px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    border: 4px solid rgba(149, 149, 149, 0.2);
    border-top: 4px solid #959595;
    border-radius: 50%;
    -webkit-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
    -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
            animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
    z-index: 1; }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
  div[data-bxSlider]:not([data-initialised="true"]) .collection-item:not(:first-child) {
    display: none; }

.bx-viewport {
  overflow-y: visible; }

.carousel .bx-viewport .collection-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.bx-pager {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }
  .bx-pager .bx-pager-item {
    position: relative;
    width: 22.5px;
    height: 22.5px;
    display: block;
    margin: 0 7.5px;
    z-index: 1; }
    @media screen and (min-width: 112.5em) {
      .bx-pager .bx-pager-item {
        width: 15px;
        height: 15px; } }
    .bx-pager .bx-pager-item a {
      width: 100%;
      height: 100%;
      display: block;
      background-color: #ffffff;
      border-radius: 25px;
      border: 1px solid #aeaeae;
      opacity: 0.5;
      -webkit-transition: opacity, border-color, background-color 0.8s;
      transition: opacity, border-color, background-color 0.8s; }
      .bx-pager .bx-pager-item a:hover {
        background-color: #DB651B;
        border-color: #DB651B;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #5F7B27;
        border-color: #5F7B27; }
      .bx-pager .bx-pager-item a.active {
        background-color: #5F7B27;
        border-color: #5F7B27;
        opacity: 1;
        cursor: not-allowed;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }

/*
----- Sliders -----
Handles the following: 
- This is *NOT* carousel functionality please refer to bxslider.scss for that.
- This is form form controls where you require an input type = slider.
- The stlyes here will also have a heavy influence on the price slider for filters.
*/
.slider {
  height: 10px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.8s, border-color 0.8s;
  transition: background-color 0.8s, border-color 0.8s; }
  .slider:hover {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-transition: background-color 0.6s, border-color 0.6s;
    transition: background-color 0.6s, border-color 0.6s; }
    .slider:hover .ui-slider-range:before {
      background-color: #fed120;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
  .slider:active {
    background-color: #ffffff;
    border-color: transparent; }
    .slider:active .ui-slider-range:before {
      background-color: #DB651B; }
  .slider.slider-invalid .ui-slider-range:before {
    background-color: #b20c0c; }
  .slider.slider-invalid .ui-slider-handle:before {
    background-color: #b20c0c; }

.ui-slider-handle {
  width: 22px;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -.5em;
  margin-left: -5px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 25px;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .ui-slider-handle:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #DB651B;
    border-radius: 25px;
    border: 3px solid #ffffff; }
  .ui-slider-handle:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.ui-state-active {
  outline: 0; }

.ui-slider-range {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  z-index: 1; }
  .ui-slider-range:before {
    content: '';
    width: calc(100% + 4px);
    height: calc(100% + 2px);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #e5b701;
    border-radius: 5px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .ui-slider-range.ui-slider-range-min:before {
    left: -1px; }
  .ui-slider-range.ui-slider-range-max:before {
    right: -1px; }
  .ui-slider-range.ui-slider-horizontal {
    top: 0;
    height: 100%; }

.slider-errors {
  max-height: 0;
  overflow: hidden;
  text-align: center;
  margin: 25px 3px 5px;
  font-weight: 600;
  font-size: 0.6875rem;
  color: #b20c0c;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .slider-errors.active {
    max-height: 300px;
    padding: 5px;
    border: 1px solid #b20c0c;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }

[data-tooltip] {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

span.tooltip-trigger {
  position: relative;
  cursor: help;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-tap-highlight-color: transparent; }
  span.tooltip-trigger:before {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 5px 8px;
    font-size: 10px;
    font-family: "Font Awesome Solid";
    color: #ffffff;
    line-height: 1;
    background-color: rgba(72, 72, 72, 0.7);
    border-radius: 25px;
    -webkit-transition: background-color 0.8s, color 0.8s;
    transition: background-color 0.8s, color 0.8s; }
  span.tooltip-trigger:hover:before {
    background-color: #DB651B;
    color: #ffffff;
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }
  span.tooltip-trigger:active:before {
    background-color: #5F7B27;
    color: #ffffff; }

.tooltip-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer; }
  .tooltip-container.warning .tooltip-content .content-container:before, .tooltip-container.alert .tooltip-content .content-container:before {
    content: "";
    display: block;
    margin-bottom: 5px;
    font-size: 20px;
    font-family: "Font Awesome Solid";
    text-align: center; }
  .tooltip-container.warning .tooltip-content .content-container p, .tooltip-container.alert .tooltip-content .content-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 700; }
  .tooltip-container.warning .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #ff5e05;
    font-size: 20px; }
  .tooltip-container.warning .tooltip-content {
    border-color: #ff5e05;
    background-color: #ffefe6; }
    .tooltip-container.warning .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.warning .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.warning .tooltip-content .content-container:before {
      content: "";
      color: #ff5e05; }
    .tooltip-container.warning .tooltip-content p {
      color: #ff5e05;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.alert .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #b20c0c;
    font-size: 20px; }
  .tooltip-container.alert .tooltip-content {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .tooltip-container.alert .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.alert .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.alert .tooltip-content .content-container:before {
      content: "";
      color: #b20c0c; }
    .tooltip-container.alert .tooltip-content p {
      color: #b20c0c;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.state-indicator .tooltip-trigger:before {
    content: ""; }
  .tooltip-container.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tooltip-container.align-right .tooltip-content:before, .tooltip-container.align-right .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container.responsive-override-align-right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-right .tooltip-content-container {
      left: 0; }
    .tooltip-container.responsive-override-align-right .tooltip-content:before, .tooltip-container.responsive-override-align-right .tooltip-content:after {
      left: 8px; }
  .tooltip-container.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.align-left .tooltip-content:before, .tooltip-container.align-left .tooltip-content:after {
      left: 8px; }
  .tooltip-container.responsive-override-align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-left .tooltip-content-container {
      right: 0;
      left: unset; }
    .tooltip-container.responsive-override-align-left .tooltip-content:before, .tooltip-container.responsive-override-align-left .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container .tooltip-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tooltip-container .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #DB651B;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffffff;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }

.tooltip-content-container .tooltip-content {
  visibility: visible;
  overflow: visible; }

.tooltip-content {
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.tooltip-content-container {
  width: 300px;
  position: absolute;
  top: 100%;
  z-index: 10;
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .tooltip-content-container.active {
    max-height: 300px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .tooltip-content-container .tooltip-content {
    width: auto;
    height: auto;
    position: relative;
    padding: 20px;
    margin-top: 9px;
    background-color: #ffffff;
    border: 2px solid #DB651B;
    border-radius: 0;
    z-index: 1; }
    .tooltip-content-container .tooltip-content ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    .tooltip-content-container .tooltip-content li, .tooltip-content-container .tooltip-content a, .tooltip-content-container .tooltip-content p {
      font-size: 0.8125rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
    .tooltip-content-container .tooltip-content li p {
      margin: 10px 0; }
    .tooltip-content-container .tooltip-content p {
      padding: 0;
      margin: 0; }

/*
----- Read more -----
Handles the following: 
- Revealing additional markup, this can include text or images.
- How the fade / gradiant gets used when cutting of the overflowing content.
*/
.read-more {
  position: relative; }
  .read-more.container-calculation-waiting {
    display: none; }
  .read-more.active .read-more-content {
    height: 100% !important;
    -webkit-transition: height 0.6s;
    transition: height 0.6s; }
  .read-more.active .readMoreButton:before {
    content: ""; }
  @media screen and (min-width: 112.5em) {
    .read-more.mobile-only .read-more-content {
      height: auto !important; } }
  @media screen and (min-width: 112.5em) {
    .read-more.mobile-only .readMoreButton {
      display: none; } }
  .read-more .read-more-content {
    max-height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }
  .read-more .readMoreButton {
    display: block;
    margin: 0 auto;
    padding: 10px 15px 24px;
    color: #5F7B27;
    font-weight: 600; }
    .read-more .readMoreButton:hover:before {
      color: #959595;
      font-size: 0.9375rem;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .read-more .readMoreButton:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 5px;
      left: 0;
      font-family: "Font Awesome Solid";
      font-size: 0.75rem;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }

.read-more:not(.fade-disabled-low-content) .read-more-content:not(.no-fade) {
  -webkit-mask-image: linear-gradient(to top, transparent 0px, #000000 50px);
          mask-image: linear-gradient(to top, transparent 0px, #000000 50px); }

@media screen and (min-width: 112.5em) {
  .read-more:not(.fade-disabled-low-content).mobile-only .read-more-content:not(.no-fade) {
    -webkit-mask-image: unset;
            mask-image: unset; } }

.read-more:not(.fade-disabled-low-content).active .read-more-content {
  -webkit-mask-image: unset;
          mask-image: unset; }

.read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p {
  display: -webkit-box;
  -webkit-line-clamp: var(--read-more-line-clamp);
  -webkit-box-orient: vertical; }
  .read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p + p {
    display: none; }

.read-more:not([rm-id]) {
  visibility: hidden; }

/*
----- Auto Complete ( Predictive Search ) ------ 
The dropdown you see when you start typing in a query within the search bar in the header.
*/
#headerSearchForm .ac-results {
  border-radius: 0 0 0 0;
  padding: 110px 0 40px; }
  @media screen and (min-width: 112.5em) {
    #headerSearchForm .ac-results > ul {
      width: 700px !important;
      padding: 0 6%;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      background-color: #ffffff;
      border-bottom: 5px solid #5F7B27;
      z-index: 50000; } }

.ac-results {
  width: 100%;
  max-height: 100vh; }
  @media screen and (min-width: 112.5em) {
    .ac-results {
      z-index: 200001; } }
  .ac-results.scroller > ul {
    overflow-y: scroll; }
  .ac-results > ul, .ac-results .results-content-container > ul {
    max-height: 70vh;
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-y: auto; }
    @media screen and (min-width: 112.5em) {
      .ac-results > ul, .ac-results .results-content-container > ul {
        margin: auto; } }

.ac-collection-title-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 5px 15px;
  background-color: #5F7B27;
  border-radius: 0; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    text-transform: none;
    font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  .ac-collection-title-container .view-all {
    float: right; }
    .ac-collection-title-container .view-all:hover a:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .ac-collection-title-container .view-all a {
      color: #ffffff;
      font-size: 0.9375rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .ac-collection-title-container .view-all a:after {
        content: "";
        margin: 0 0 0 5px;
        font-family: "Font Awesome Solid";
        font-size: 0.5625rem;
        color: #DB651B;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }

.ac-item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0;
  list-style: none; }
  .ac-item-list.column .ac-item {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .ac-item-list.column .ac-item {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
  .ac-item-list:not(.column) .ac-item {
    width: 100%; }
  .ac-item-list.row .ac-item {
    margin: 0 0 10px; }

.ac-item {
  margin: 0 0 5px; }
  .ac-item:hover a span {
    color: #5F7B27;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .ac-item .image, .ac-item .ac-item-multimedia-content {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #dadada; }
  .ac-item img {
    max-width: 100%; }
  .ac-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 10px;
    padding: 0 20px 0 0; }
    .ac-item a span {
      font-weight: 400;
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .ac-item .ac-item-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .ac-item .item-reference {
    font-size: 0.8125rem;
    text-transform: uppercase;
    color: #959595; }
  .ac-item .item-snippet {
    margin: 5px 0 0;
    font-size: 0.8125rem;
    color: #959595; }

.autocomplete-results-search-container {
  display: none; }
  @media screen and (min-width: 112.5em) {
    .autocomplete-results-search-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .autocomplete-results-search-container .ajax-search {
    height: 50px; }
    .autocomplete-results-search-container .ajax-search + button {
      height: 50px; }

.autocomplete-container.active .ac-results {
  max-height: 900px;
  display: block; }
  @media screen and (min-width: 112.5em) {
    .autocomplete-container.active .ac-results {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); } }

.autocomplete-container .ac-results {
  max-height: 0px;
  display: none; }

.autocomplete-container .results-content-container {
  background: #ffffff; }
  @media screen and (min-width: 112.5em) {
    .autocomplete-container .results-content-container {
      border-radius: 0 0 0 0;
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #5F7B27;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .autocomplete-container .results-content-container ul li:last-child .ac-item-list {
    padding-bottom: 0; }

.sa {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }
  .sa-warning {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #ff5e05;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: scaleWarning 0.75s infinite alternate;
            animation: scaleWarning 0.75s infinite alternate; }
    .sa-warning:after, .sa-warning:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 50%; }
    .sa-warning:before {
      display: inline-block;
      opacity: 0; }
    .sa-warning:after {
      display: block;
      z-index: 1; }
    .sa-warning-body {
      width: 5px;
      height: 47px;
      position: absolute;
      top: 10px;
      left: 50%;
      margin-left: -2px;
      background-color: #ff5e05;
      border-radius: 2px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
    .sa-warning-dot {
      background-color: #ff5e05;
      border-radius: 50%;
      bottom: 10px;
      height: 7px;
      left: 50%;
      margin-left: -3px;
      position: absolute;
      width: 7px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
  .sa-error {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #b20c0c;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: animateErrorIcon .5s;
            animation: animateErrorIcon .5s; }
    .sa-error:after, .sa-error:before {
      content: '';
      height: 120px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 60px; }
    .sa-error:before {
      border-radius: 40px 0 0 40px;
      width: 26px;
      height: 80px;
      top: -17px;
      left: 5px;
      -webkit-transform-origin: 60px 60px;
              transform-origin: 60px 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .sa-error:after {
      border-radius: 0 120px 120px 0;
      left: 30px;
      top: -11px;
      -webkit-transform-origin: 0 60px;
              transform-origin: 0 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: rotatePlaceholder 4.25s ease-in;
              animation: rotatePlaceholder 4.25s ease-in; }
    .sa-error-x {
      display: block;
      position: relative;
      z-index: 2; }
    .sa-error-placeholder {
      border-radius: 50%;
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      height: 80px;
      left: -4px;
      position: absolute;
      top: -4px;
      width: 80px;
      z-index: 2; }
    .sa-error-fix {
      width: 5px;
      height: 90px;
      left: 28px;
      position: absolute;
      top: 8px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      z-index: 1; }
    .sa-error-left, .sa-error-right {
      border-radius: 2px;
      display: block;
      height: 5px;
      position: absolute;
      z-index: 2;
      background-color: #b20c0c;
      top: 37px;
      width: 47px; }
    .sa-error-left {
      left: 17px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-animation: animateXLeft .75s;
              animation: animateXLeft .75s; }
    .sa-error-right {
      right: 16px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: animateXRight .75s;
              animation: animateXRight .75s; }

@keyframes rotatePlaceholder {
  0%,
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  100%,
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@-webkit-keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@-webkit-keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

.check_mark {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }

.sa-icon {
  width: 80px;
  height: 80px;
  border: 4px solid #12811f;
  border-radius: 40px;
  border-radius: 50%;
  padding: 0;
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.sa-icon.sa-success {
  border-color: #12811f; }

.sa-icon.sa-success::before,
.sa-icon.sa-success::after {
  content: '';
  border-radius: 40px;
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.sa-icon.sa-success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 60px 60px;
          transform-origin: 60px 60px; }

.sa-icon.sa-success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 0px 60px;
          transform-origin: 0px 60px; }

.sa-icon.sa-success .sa-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  border-radius: 50%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2; }

.sa-icon.sa-success .sa-fix {
  width: 5px;
  height: 90px;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
          animation: rotatePlaceholder 4.25s ease-in; }

.sa-icon.sa-success {
  border-color: transparent\9; }

.sa-icon.sa-success .sa-line.sa-tip {
  -webkit-transform: rotate(45deg) \9;
          transform: rotate(45deg) \9; }

.sa-icon.sa-success .sa-line.sa-long {
  -webkit-transform: rotate(-45deg) \9;
          transform: rotate(-45deg) \9; }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
          animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
          animation: animateSuccessLong 0.75s; }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

.sa-icon.sa-success .sa-line {
  height: 5px;
  background-color: #12811f;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2; }

.sa-icon.sa-success .sa-line.sa-tip {
  width: 25px;
  left: 14px;
  top: 46px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.sa-icon.sa-success .sa-line.sa-long {
  width: 47px;
  right: 8px;
  top: 38px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

@-webkit-keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

/*
----- Notifications ( Callouts ) -----
Handles the following: 
- On page notications ( no items found ) 
- Header notifications.
- Cookie notification.
- Callouts ( things that slide out from the edged of a window ) 
- No Javascript notification
- Browser compatiblity notification 

*/
.header-notification-container {
  width: 100%; }
  .header-notification-container .callout {
    margin: 0;
    padding: 0 10px; }
    @media print, screen and (min-width: 40em) {
      .header-notification-container .callout {
        padding: 0; } }
    .header-notification-container .callout:not(:first-of-type) {
      border-top-color: #ffffff; }
    .header-notification-container .callout h5 {
      position: relative;
      padding: 0 0 0 35px;
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 700;
      color: #ffffff; }
      .header-notification-container .callout h5:before {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        padding: 0 5px 0 0;
        font-size: 22px;
        color: #ffffff;
        font-family: "Font Awesome Solid";
        line-height: 1; }
    .header-notification-container .callout a {
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .header-notification-container .callout a:hover {
        color: #ffffff;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
      .header-notification-container .callout a:active {
        color: #ffffff; }
    .header-notification-container .callout button:not(.close-button) {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .header-notification-container .callout button:not(.close-button) {
          width: auto; } }
      @media screen and (min-width: 112.5em) {
        .header-notification-container .callout button:not(.close-button) {
          margin-left: 10px; } }
    @media print, screen and (max-width: 112.49875em) {
      .header-notification-container .callout button.close-button {
        position: relative;
        right: 0; } }
  .header-notification-container .alert h5:before {
    content: ""; }
  .header-notification-container .warning h5:before {
    content: ""; }
  .header-notification-container .success h5:before {
    content: ""; }
  .header-notification-container .content-container {
    max-width: 1800px;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .header-notification-container .close-button {
    width: 17px;
    height: 17px;
    display: block;
    margin: 5px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-notification-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

.notification-container.callout {
  display: none; }

.callout-container {
  position: fixed;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 999999999999; }
  .callout-container.side .callout {
    border-radius: 0 0 0 0; }
  .callout-container .callout {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 25px;
    font-weight: 700;
    font-size: 1rem; }
    .callout-container .callout:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background-color: #ffffff;
      z-index: -1; }
    .callout-container .callout.success {
      border-left: 5px solid #12811f;
      background-color: #dffbe2;
      color: #12811f; }
      .callout-container .callout.success strong {
        color: #12811f; }
    .callout-container .callout.warning {
      border-left: 5px solid #ff5e05;
      background-color: #ffefe6;
      color: #ff5e05; }
      .callout-container .callout.warning strong {
        color: #ff5e05; }
    .callout-container .callout.alert {
      border-left: 5px solid #b20c0c;
      background-color: #fde1e1;
      color: #b20c0c; }
      .callout-container .callout.alert strong {
        color: #b20c0c; }
    .callout-container .callout h5 {
      margin: 0 25px 0 0;
      font-weight: 400;
      font-size: 1rem; }
      .callout-container .callout h5 strong {
        font-weight: 700; }
    .callout-container .callout .close-button {
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .callout-container .callout .close-button:before {
        position: relative;
        bottom: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .callout-container .callout .close-button:before:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #aeaeae;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:hover:before {
          color: #5F7B27;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:active:before {
          color: #DB651B;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.on-page-notifications-container {
  margin: 0 0 20px; }

.on-page-notification {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .on-page-notification:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 112.5em) {
    .on-page-notification {
      gap: 0 15px; } }
  .on-page-notification:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .on-page-notification.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .on-page-notification.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification.preset-2 {
        padding: 15px 65px; } }
  .on-page-notification.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification.preset-3 {
        padding: 15px 0; } }
  .on-page-notification.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .on-page-notification.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.success:has(.content-container):before {
      color: #12811f; }
    .on-page-notification.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .on-page-notification.success h1, .on-page-notification.success h2, .on-page-notification.success h3, .on-page-notification.success h4, .on-page-notification.success h5, .on-page-notification.success h6, .on-page-notification.success p, .on-page-notification.success a {
      color: #12811f; }
  .on-page-notification.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .on-page-notification.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.warning:has(.content-container):before {
      color: #ff5e05; }
    .on-page-notification.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .on-page-notification.warning h1, .on-page-notification.warning h2, .on-page-notification.warning h3, .on-page-notification.warning h4, .on-page-notification.warning h5, .on-page-notification.warning h6, .on-page-notification.warning p, .on-page-notification.warning a {
      color: #ff5e05; }
  .on-page-notification.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .on-page-notification.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.alert:has(.content-container):before {
      color: #b20c0c; }
    .on-page-notification.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .on-page-notification.alert h1, .on-page-notification.alert h2, .on-page-notification.alert h3, .on-page-notification.alert h4, .on-page-notification.alert h5, .on-page-notification.alert h6, .on-page-notification.alert p, .on-page-notification.alert a {
      color: #b20c0c; }
  .on-page-notification.disabled p {
    color: #959595;
    font-weight: 600; }
  .on-page-notification.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .on-page-notification.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.information:has(.content-container):before {
      color: #000000; }
    .on-page-notification.information p {
      color: #000000;
      font-weight: 600; }
  .on-page-notification.icon-non-returnable {
    --font-family: fontello; }
    .on-page-notification.icon-non-returnable:before {
      content: ""; }
  .on-page-notification .user-friendly-prefix {
    margin-right: 5px; }
  .on-page-notification > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .on-page-notification > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 112.49875em) {
        .on-page-notification > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .on-page-notification .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification .content-container {
        margin: 0; } }
  .on-page-notification p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .on-page-notification p img[style*="float:left"], .on-page-notification p img[style*="float: left"], .on-page-notification p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .on-page-notification p img[style*="float:right"], .on-page-notification p img[style*="float: right"], .on-page-notification p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .on-page-notification p img {
      margin: .2em 0; }
    .on-page-notification p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .on-page-notification p:not(:empty) + table, .on-page-notification p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .on-page-notification table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .on-page-notification table:not([class*=preset]) thead {
      background-color: transparent; }
      .on-page-notification table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .on-page-notification table:not([class*=preset]) thead th {
        font-weight: 700; }
    .on-page-notification table.responsive-table {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .on-page-notification table.responsive-table {
          display: table; } }
      .on-page-notification table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 112.5em) {
          .on-page-notification table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .on-page-notification table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification table td {
        padding: 10px; } }
    .on-page-notification table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .on-page-notification table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .on-page-notification table tbody {
      background-color: transparent; }
      .on-page-notification table tbody th {
        background-color: transparent; }
      .on-page-notification table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 112.5em) {
        .on-page-notification table tbody tr {
          display: table-row; } }
    .on-page-notification table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 112.49875em) {
      .on-page-notification table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 112.49875em) {
      .on-page-notification table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .on-page-notification table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .on-page-notification table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .on-page-notification blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .on-page-notification blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .on-page-notification blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .on-page-notification blockquote:has(img) {
      text-align: left; }
    .on-page-notification blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 112.5em) {
      .on-page-notification blockquote {
        padding: 50px 60px; } }
    .on-page-notification blockquote + blockquote {
      margin-top: 15px; }
    .on-page-notification blockquote:before, .on-page-notification blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .on-page-notification blockquote:before {
      top: 0;
      left: 0; }
    .on-page-notification blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .on-page-notification blockquote img {
      float: left; }
      @media screen and (min-width: 112.5em) {
        .on-page-notification blockquote img {
          text-align: left; } }
  .on-page-notification a[href^="tel:"], .on-page-notification a[href^="mailto:"] {
    font-weight: 700; }
    .on-page-notification a[href^="tel:"]:hover, .on-page-notification a[href^="mailto:"]:hover {
      text-decoration: none; }
    .on-page-notification a[href^="tel:"].show-contact-icon:before, .on-page-notification a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .on-page-notification a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .on-page-notification a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .on-page-notification p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .on-page-notification p a:has([style*="float"]) {
    display: inline; }
  .on-page-notification a {
    text-decoration: underline; }
  .on-page-notification > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 112.49875em) {
      .on-page-notification > p:first-of-type {
        padding-top: 27px; } }

.no-items-found-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .no-items-found-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 112.5em) {
    .no-items-found-container {
      gap: 0 15px; } }
  .no-items-found-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .no-items-found-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .no-items-found-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container.preset-2 {
        padding: 15px 65px; } }
  .no-items-found-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container.preset-3 {
        padding: 15px 0; } }
  .no-items-found-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .no-items-found-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.success:has(.content-container):before {
      color: #12811f; }
    .no-items-found-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .no-items-found-container.success h1, .no-items-found-container.success h2, .no-items-found-container.success h3, .no-items-found-container.success h4, .no-items-found-container.success h5, .no-items-found-container.success h6, .no-items-found-container.success p, .no-items-found-container.success a {
      color: #12811f; }
  .no-items-found-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .no-items-found-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .no-items-found-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .no-items-found-container.warning h1, .no-items-found-container.warning h2, .no-items-found-container.warning h3, .no-items-found-container.warning h4, .no-items-found-container.warning h5, .no-items-found-container.warning h6, .no-items-found-container.warning p, .no-items-found-container.warning a {
      color: #ff5e05; }
  .no-items-found-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .no-items-found-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .no-items-found-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .no-items-found-container.alert h1, .no-items-found-container.alert h2, .no-items-found-container.alert h3, .no-items-found-container.alert h4, .no-items-found-container.alert h5, .no-items-found-container.alert h6, .no-items-found-container.alert p, .no-items-found-container.alert a {
      color: #b20c0c; }
  .no-items-found-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .no-items-found-container.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .no-items-found-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.information:has(.content-container):before {
      color: #000000; }
    .no-items-found-container.information p {
      color: #000000;
      font-weight: 600; }
  .no-items-found-container.icon-non-returnable {
    --font-family: fontello; }
    .no-items-found-container.icon-non-returnable:before {
      content: ""; }
  .no-items-found-container .user-friendly-prefix {
    margin-right: 5px; }
  .no-items-found-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .no-items-found-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 112.49875em) {
        .no-items-found-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .no-items-found-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container .content-container {
        margin: 0; } }
  .no-items-found-container p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .no-items-found-container p img[style*="float:left"], .no-items-found-container p img[style*="float: left"], .no-items-found-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .no-items-found-container p img[style*="float:right"], .no-items-found-container p img[style*="float: right"], .no-items-found-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .no-items-found-container p img {
      margin: .2em 0; }
    .no-items-found-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .no-items-found-container p:not(:empty) + table, .no-items-found-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .no-items-found-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .no-items-found-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .no-items-found-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .no-items-found-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .no-items-found-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .no-items-found-container table.responsive-table {
          display: table; } }
      .no-items-found-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 112.5em) {
          .no-items-found-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .no-items-found-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container table td {
        padding: 10px; } }
    .no-items-found-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .no-items-found-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .no-items-found-container table tbody {
      background-color: transparent; }
      .no-items-found-container table tbody th {
        background-color: transparent; }
      .no-items-found-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 112.5em) {
        .no-items-found-container table tbody tr {
          display: table-row; } }
    .no-items-found-container table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 112.49875em) {
      .no-items-found-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 112.49875em) {
      .no-items-found-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .no-items-found-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .no-items-found-container table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .no-items-found-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .no-items-found-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .no-items-found-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .no-items-found-container blockquote:has(img) {
      text-align: left; }
    .no-items-found-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 112.5em) {
      .no-items-found-container blockquote {
        padding: 50px 60px; } }
    .no-items-found-container blockquote + blockquote {
      margin-top: 15px; }
    .no-items-found-container blockquote:before, .no-items-found-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .no-items-found-container blockquote:before {
      top: 0;
      left: 0; }
    .no-items-found-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .no-items-found-container blockquote img {
      float: left; }
      @media screen and (min-width: 112.5em) {
        .no-items-found-container blockquote img {
          text-align: left; } }
  .no-items-found-container a[href^="tel:"], .no-items-found-container a[href^="mailto:"] {
    font-weight: 700; }
    .no-items-found-container a[href^="tel:"]:hover, .no-items-found-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .no-items-found-container a[href^="tel:"].show-contact-icon:before, .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .no-items-found-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .no-items-found-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .no-items-found-container p a:has([style*="float"]) {
    display: inline; }
  .no-items-found-container a {
    text-decoration: underline; }
  .no-items-found-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 112.49875em) {
      .no-items-found-container > p:first-of-type {
        padding-top: 27px; } }

.internal-error-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #fde1e1;
  border: 1px solid #b20c0c; }
  .internal-error-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 112.5em) {
    .internal-error-container {
      gap: 0 15px; } }
  .internal-error-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .internal-error-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .internal-error-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container.preset-2 {
        padding: 15px 65px; } }
  .internal-error-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container.preset-3 {
        padding: 15px 0; } }
  .internal-error-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .internal-error-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.success:has(.content-container):before {
      color: #12811f; }
    .internal-error-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .internal-error-container.success h1, .internal-error-container.success h2, .internal-error-container.success h3, .internal-error-container.success h4, .internal-error-container.success h5, .internal-error-container.success h6, .internal-error-container.success p, .internal-error-container.success a {
      color: #12811f; }
  .internal-error-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .internal-error-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .internal-error-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .internal-error-container.warning h1, .internal-error-container.warning h2, .internal-error-container.warning h3, .internal-error-container.warning h4, .internal-error-container.warning h5, .internal-error-container.warning h6, .internal-error-container.warning p, .internal-error-container.warning a {
      color: #ff5e05; }
  .internal-error-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .internal-error-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .internal-error-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .internal-error-container.alert h1, .internal-error-container.alert h2, .internal-error-container.alert h3, .internal-error-container.alert h4, .internal-error-container.alert h5, .internal-error-container.alert h6, .internal-error-container.alert p, .internal-error-container.alert a {
      color: #b20c0c; }
  .internal-error-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .internal-error-container.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .internal-error-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.information:has(.content-container):before {
      color: #000000; }
    .internal-error-container.information p {
      color: #000000;
      font-weight: 600; }
  .internal-error-container.icon-non-returnable {
    --font-family: fontello; }
    .internal-error-container.icon-non-returnable:before {
      content: ""; }
  .internal-error-container .user-friendly-prefix {
    margin-right: 5px; }
  .internal-error-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .internal-error-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 112.49875em) {
        .internal-error-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .internal-error-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container .content-container {
        margin: 0; } }
  .internal-error-container p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .internal-error-container p img[style*="float:left"], .internal-error-container p img[style*="float: left"], .internal-error-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .internal-error-container p img[style*="float:right"], .internal-error-container p img[style*="float: right"], .internal-error-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .internal-error-container p img {
      margin: .2em 0; }
    .internal-error-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .internal-error-container p:not(:empty) + table, .internal-error-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .internal-error-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .internal-error-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .internal-error-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .internal-error-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .internal-error-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .internal-error-container table.responsive-table {
          display: table; } }
      .internal-error-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 112.5em) {
          .internal-error-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 112.5em) {
          .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .internal-error-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container table td {
        padding: 10px; } }
    .internal-error-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .internal-error-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .internal-error-container table tbody {
      background-color: transparent; }
      .internal-error-container table tbody th {
        background-color: transparent; }
      .internal-error-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 112.5em) {
        .internal-error-container table tbody tr {
          display: table-row; } }
    .internal-error-container table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 112.49875em) {
      .internal-error-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 112.49875em) {
      .internal-error-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .internal-error-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .internal-error-container table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .internal-error-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Open Sans", "Open Sans Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .internal-error-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .internal-error-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .internal-error-container blockquote:has(img) {
      text-align: left; }
    .internal-error-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 112.5em) {
      .internal-error-container blockquote {
        padding: 50px 60px; } }
    .internal-error-container blockquote + blockquote {
      margin-top: 15px; }
    .internal-error-container blockquote:before, .internal-error-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .internal-error-container blockquote:before {
      top: 0;
      left: 0; }
    .internal-error-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .internal-error-container blockquote img {
      float: left; }
      @media screen and (min-width: 112.5em) {
        .internal-error-container blockquote img {
          text-align: left; } }
  .internal-error-container a[href^="tel:"], .internal-error-container a[href^="mailto:"] {
    font-weight: 700; }
    .internal-error-container a[href^="tel:"]:hover, .internal-error-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .internal-error-container a[href^="tel:"].show-contact-icon:before, .internal-error-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .internal-error-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .internal-error-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .internal-error-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .internal-error-container p a:has([style*="float"]) {
    display: inline; }
  .internal-error-container a {
    text-decoration: underline; }
  .internal-error-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 112.49875em) {
      .internal-error-container > p:first-of-type {
        padding-top: 27px; } }
  .internal-error-container p {
    color: #b20c0c; }
    .internal-error-container p:before {
      content: "";
      color: #b20c0c; }

#noJsBasketNotification {
  position: absolute;
  top: 100%;
  padding: 10px 30px;
  background-color: #ffffff;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  z-index: 1; }
  #noJsBasketNotification p {
    margin: 0 0 10px;
    color: #ff0101;
    font-weight: 700; }
    #noJsBasketNotification p:last-of-type {
      margin: 0 0 30px; }
  #noJsBasketNotification a {
    width: auto;
    float: right;
    padding: 15px 20px;
    font-size: 0.9375rem; }

.notification-container.compatibility {
  width: 100%;
  max-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  background-color: rgba(255, 1, 1, 0.9);
  color: #ffffff;
  z-index: 1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 0;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .notification-container.compatibility:hover {
    background-color: #ff0101;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .notification-container.compatibility h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #ffffff; }
  .notification-container.compatibility p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600; }
  .notification-container.compatibility a {
    color: #ffffff;
    text-decoration: underline; }
    .notification-container.compatibility a:hover {
      color: #000000;
      -webkit-transition: color box-shadow 0.8s, border-color 0.8s;
      transition: color box-shadow 0.8s, border-color 0.8s; }

.notifications-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2000; }

.notification-container {
  max-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 9999999999;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .notification-container.active {
    max-height: 500px;
    padding: 7.5px 15px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms;
    -webkit-transition: max-height 3s;
    transition: max-height 3s; }
    @media screen and (min-width: 112.5em) {
      .notification-container.active {
        padding: 15px 30px; } }
  .notification-container .notification {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .notification-container .notification-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: auto 12px auto 0;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    @media screen and (min-width: 112.5em) {
      .notification-container .notification-icon {
        margin-right: auto 10px auto 0; } }
    .notification-container .notification-icon img {
      width: 40px; }
  .notification-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 180px;
        flex-basis: 180px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    color: #000000; }
    @media screen and (min-width: 112.5em) {
      .notification-container .content-container {
        width: 70%; } }
    .notification-container .content-container p {
      padding: 0;
      margin: 0; }
  .notification-container .button-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 17px; }
    @media screen and (min-width: 112.5em) {
      .notification-container .button-container {
        width: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin: auto; } }
    .notification-container .button-container [class$="-button"] {
      margin: 0; }
      .notification-container .button-container [class$="-button"]:not(:first-child) {
        margin-top: 12px; }
        @media screen and (min-width: 112.5em) {
          .notification-container .button-container [class$="-button"]:not(:first-child) {
            margin-top: 0;
            margin-left: 10px; } }
  .notification-container .read-more {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: padding-top 2s, max-height 0.8s;
    transition: padding-top 2s, max-height 0.8s; }
    .notification-container .read-more.active {
      max-height: 300px;
      padding-top: 25px;
      -webkit-transition: padding-top 0.6s, max-height 0.6s;
      transition: padding-top 0.6s, max-height 0.6s; }
      .notification-container .read-more.active .read-more-content {
        border-width: 1px;
        border-color: #000000;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
    .notification-container .read-more .read-more-content {
      overflow-y: scroll;
      padding: 10px;
      background-color: #ffffff;
      border-width: 0;
      border-style: solid;
      border-color: transparent;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .notification-container .read-more .read-more-content h1 {
        margin: 25px 0 20px;
        font-size: 2.1875rem;
        font-weight: 600;
        font-style: normal;
        color: #5F7B27;
        line-height: 1.6;
        background-color: transparent; }
        .notification-container .read-more .read-more-content h1:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h1:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h2 {
        margin: 25px 0 20px;
        font-size: 2rem;
        font-weight: 600;
        font-style: normal;
        color: #5F7B27;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h2:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h2:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h3 {
        margin: 25px 0 10px;
        padding: 15px 0;
        font-size: 1.5625rem;
        font-weight: 600;
        font-style: normal;
        color: #DB651B;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h3:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h3:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h4 {
        margin: 25px 0 10px;
        padding: 0 0 10px;
        font-size: 1.375rem;
        font-weight: 400;
        font-style: normal;
        color: #5F7B27;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h4:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h4:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h5 {
        margin: 15px 0 10px;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h5:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h5:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h6 {
        margin: 15px 0;
        font-size: 0.9375rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h6:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h6:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content p {
        margin: var(--indent-margin, 0);
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6;
        color: #000000; }
        .notification-container .read-more .read-more-content p img[style*="float:left"], .notification-container .read-more .read-more-content p img[style*="float: left"], .notification-container .read-more .read-more-content p[style*="float:left"] > img {
          margin: .2em .2em .2em 0; }
        .notification-container .read-more .read-more-content p img[style*="float:right"], .notification-container .read-more .read-more-content p img[style*="float: right"], .notification-container .read-more .read-more-content p[style*="float:right"] > img {
          margin: .2em 0 .2em .2em; }
        .notification-container .read-more .read-more-content p img {
          margin: .2em 0; }
        .notification-container .read-more .read-more-content p + p {
          margin-top: 0;
          margin-bottom: 0; }
      .notification-container .read-more .read-more-content ul, .notification-container .read-more .read-more-content ol {
        text-align: left; }
      .notification-container .read-more .read-more-content ul {
        margin: 10px;
        padding: 0;
        line-height: 1.6;
        list-style: none;
        line-height: 25px; }
        .notification-container .read-more .read-more-content ul ul {
          padding-top: 0;
          padding-bottom: 0;
          padding-left: 25px; }
        .notification-container .read-more .read-more-content ul li {
          position: relative;
          padding: 0 0 0 15px; }
          .notification-container .read-more .read-more-content ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 10px;
            left: 0;
            margin: auto;
            display: block;
            background-color: #5F7B27;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content ol ol {
          margin: 0;
          padding-top: 0;
          padding-bottom: 0;
          list-style-type: lower-alpha; }
          .notification-container .read-more .read-more-content ol ol ol {
            list-style-type: lower-roman; }
            .notification-container .read-more .read-more-content ol ol ol ol {
              list-style-type: lower-alpha; }
              .notification-container .read-more .read-more-content ol ol ol ol ol {
                list-style-type: lower-roman; }
      .notification-container .read-more .read-more-content li {
        color: #000000;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h2, .notification-container .read-more .read-more-content ol + h2 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h3, .notification-container .read-more .read-more-content ol + h3 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 15px; }
      .notification-container .read-more .read-more-content dl {
        text-align: left; }
      .notification-container .read-more .read-more-content p:not(:empty) + table, .notification-container .read-more .read-more-content p:not(:empty) + .comparison-table-container {
        margin: 15px 0; }
      .notification-container .read-more .read-more-content table {
        --thead-border-colour: $thead-border-colour;
        max-width: 100%;
        margin-bottom: 0; }
        .notification-container .read-more .read-more-content table:not([class*=preset]) thead {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead tr {
            border-bottom: 1px solid var(--thead-border-colour); }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead th {
            font-weight: 700; }
        .notification-container .read-more .read-more-content table.responsive-table {
          display: block; }
          @media screen and (min-width: 112.5em) {
            .notification-container .read-more .read-more-content table.responsive-table {
              display: table; } }
          .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
            display: none; }
            @media screen and (min-width: 112.5em) {
              .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
                display: table-row-group; } }
          .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
            display: block; }
            @media screen and (min-width: 112.5em) {
              .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
                display: table-row-group; } }
        .notification-container .read-more .read-more-content table th {
          padding: 10px 10px 10px; }
        @media screen and (min-width: 112.5em) {
          .notification-container .read-more .read-more-content table td {
            padding: 10px; } }
        .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
          content: '';
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 112.5em) {
            .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
              margin: 10px; } }
        .notification-container .read-more .read-more-content table tbody {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody th {
            background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody tr:not(:last-child) th {
            border-bottom: 1px solid transparent; }
          @media screen and (min-width: 112.5em) {
            .notification-container .read-more .read-more-content table tbody tr {
              display: table-row; } }
        .notification-container .read-more .read-more-content table .col-label {
          color: #484848; }
        @media print, screen and (max-width: 112.49875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        @media print, screen and (max-width: 112.49875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr:not(:last-child) {
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eeeeee; } }
        .notification-container .read-more .read-more-content table.no-wrap {
          display: block;
          white-space: nowrap;
          overflow-x: auto; }
        .notification-container .read-more .read-more-content table.comparison-table tbody td:first-child {
          color: #484848;
          font-weight: 700; }
  .notification-container .read-more-trigger {
    width: 100%;
    display: block;
    margin-bottom: 12px;
    color: #000000;
    font-weight: 600;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .notification-container .read-more-trigger {
        margin-bottom: 0; } }
    .notification-container .read-more-trigger:hover {
      color: #DB651B;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .notification-container .read-more-trigger:active, .notification-container .read-more-trigger.active {
      color: #5F7B27;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #8c8e8a; }
  .notification-container.cookie {
    background-color: rgba(174, 174, 174, 0.9); }

/*

---- Image Overlays ---- 

Image overlays for essentially highlighted items:
- Special Offers
- Featured Items
- Best Sellers
- Previously Purchased

These normally are the size of the product image whether its on a listing or product page with a transparent background.

We allow for different images to be displayed if a group is marked as a highlighted item or whether its an individual product.

*/
#special-offers .overlay.stock.specialOffer {
  display: none; }

#featured-items .overlay.stock.featured {
  display: none; }

#best-sellers .overlay.stock.bestSeller {
  display: none; }

.content-container:not(.compact) .overlay {
  background-position: center; }

#mainImageContainer .overlay {
  background-position: center; }

.image {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: var(--media-aspect-ratio, auto);
  overflow: hidden; }
  .image:has(img[src$=".png"]) {
    background-color: #ffffff; }
  .image:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .image img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain; }
    .image img[src$=".svg"], .image img[src$=".SVG"] {
      width: 100%; }
  .image a {
    width: 100%;
    text-align: center; }
  .image .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .image .overlay.group.specialOffer {
      background-image: url("/content/images/overlays/group/sash-special-ebg.png"); }
    .image .overlay.group.featured {
      background-image: url("/content/images/overlays/group/sash-featured-ebg.png"); }
    .image .overlay.group.bestSeller {
      background-image: url("/content/images/overlays/group/sash-bestseller-ebg.png"); }
    .image .overlay.stock.specialOffer {
      background-image: url("/content/images/overlays/product/sash-special-ebg.png"); }
    .image .overlay.stock.featured {
      background-image: url("/content/images/overlays/product/sash-featured-ebg.png"); }
    .image .overlay.stock.bestSeller {
      background-image: url("/content/images/overlays/product/sash-bestseller-ebg.png"); }
    .image .overlay.stock.previously-purchased {
      background-image: url("/content/images/overlays/product/sash-previously-purchased.png"); }
    .image .overlay.stock.contract-item {
      background-image: url("/content/images/overlays/product/sash-contract-item.png"); }

[data-countdown-time] {
  max-height: 0;
  overflow: hidden; }

.countdown-container p {
  display: inline-block;
  margin: 0;
  padding: 0; }
  .countdown-container p:before {
    content: "";
    display: inline-block;
    padding: 0 7px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #5F7B27; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #5F7B27;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }
  .countdown-container .countdown-display + .display-label, .countdown-container .display-label + .display-label {
    margin-left: 0; }

.countdown-container[countdown-status=alert] .countdown-display, .countdown-container[countdown-status=alert] .display-label {
  color: #b20c0c;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container[countdown-status=warning] .countdown-display, .countdown-container[countdown-status=warning] .display-label {
  color: #DB651B;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container.countdown-inactive {
  max-height: 0;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }

.countdown-container.countdown-active {
  max-height: 1000px;
  -webkit-transition: max-height 5s;
  transition: max-height 5s; }

/*

----- PWA ( Progressive Web Application ) ----- 
- Installation prompt.

*/
/*
----- Payment Methods -----
Handles the following: 
- How payment methods such of opayo iframe looks in the checkout.
*/
.payment-container {
  margin: 0 0 20px; }
  .payment-container:not(:has(> .payment-method)) {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid var(--neutral-colour-lightness-8);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container:not(:has(> .payment-method)):hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-color: #6d6d6d;
      -webkit-transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, 0.6s;
      transition: box-shadow 0.6s, 0.6s, -webkit-box-shadow 0.6s; }
    @media screen and (min-width: 112.5em) {
      .payment-container:not(:has(> .payment-method)) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 0 30px; } }
    .payment-container:not(:has(> .payment-method)) iframe {
      width: 100%;
      border: 0; }
    .payment-container:not(:has(> .payment-method)):has(.container-resized) {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
  .payment-container .payment-method {
    max-width: 500px;
    min-height: 504px;
    width: 100%;
    margin: auto;
    border: 2px solid #dadada;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container .payment-method:hover {
      border-color: #eeeeee;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .payment-container .payment-method iframe {
      width: 100%;
      height: 500px;
      display: block; }
      .payment-container .payment-method iframe#opayo-iframe {
        height: 27rem;
        min-height: 500px; }
  .payment-container .pi-card-payment {
    max-width: 100%; }
    .payment-container .pi-card-payment.small {
      width: 250px;
      height: 400px; }
    .payment-container .pi-card-payment.medium {
      width: 390px;
      height: 400px; }
    .payment-container .pi-card-payment.large {
      width: 500px;
      height: 600px; }
    .payment-container .pi-card-payment.extra-large {
      width: 600px;
      height: 400px; }
    .payment-container .pi-card-payment iframe {
      width: 100%;
      height: 100%; }

form + .payment-method-selector {
  margin-top: 20px; }

.payment-method-selector {
  position: relative;
  margin-bottom: 50px; }
  .payment-method-selector .payment-method-container:only-child .accordion-title:after {
    display: none; }
  .payment-method-selector .payment-method-container.card-payment .title-icon {
    width: 30px;
    background-image: url("/template/content/development/images/icons/card-payment.svg"); }
  .payment-method-selector .payment-method-container.paypal .title-icon {
    width: 100px;
    background-image: url("/template/content/development/images/icons/paypal.svg"); }
  .payment-method-selector .payment-method-container.google-pay .accordion-title {
    padding: 0 20px 0 0; }
  .payment-method-selector .payment-method-container.google-pay .title-icon {
    width: 115px;
    height: 72px;
    background-image: url("/template/content/development/images/icons/google-pay.svg"); }
  .payment-method-selector .payment-method-container.apple-pay .title-icon {
    width: 60px;
    background-image: url("/template/content/development/images/icons/apply-pay.svg"); }
  .payment-method-selector .payment-method-container .accordion-title {
    gap: 10px;
    padding: 20px 20px; }
  .payment-method-selector .payment-method-container.card-payment.opayo {
    --container-font-family: sans-serif;
    --container-font-size: 1rem;
    --container-line-height: 40px; }
  .payment-method-selector .payment-method-container.card-payment .page-buttons-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .payment-method-selector .payment-method-container.card-payment .button-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    margin: 0 auto; }
    @media screen and (min-width: 112.5em) {
      .payment-method-selector .payment-method-container.card-payment .button-container {
        margin: 0; } }
  .payment-method-selector .payment-method-container.card-payment .control.checkbox {
    max-width: 600px;
    width: 100%;
    border-top: 1px solid #ddd; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox.checkbox .checkbox {
      margin-left: auto; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox .label {
      font-family: var(--container-font-family);
      font-size: var(--container-font-size);
      line-height: var(--container-line-height); }
  .payment-method-selector .payment-method-container .details-container {
    width: 100%;
    padding: 0 20px; }
    .payment-method-selector .payment-method-container .details-container + .payment-container {
      margin-top: 20px; }
    @media screen and (min-width: 112.5em) {
      .payment-method-selector .payment-method-container .details-container {
        width: calc(440px + 20px); } }
  .payment-method-selector .payment-method-container iframe {
    border: 0; }
  .payment-method-selector .paypal-button {
    max-width: 340px; }

.card-frame-container {
  max-width: 100%;
  width: 100%; }

/**

---- Social Media Icons ---- 

Where these get used:
- On the product page to share a sku on either of the following:
    - Facebook
    - Twitter
    - LinkedIn 
    - Email
- In the footer to take the user to the organisation's social media pages
- There are two colour modes:
    - site-specific: matches the customer's site branding.
    - social-branding: follows the brand guidelines of each social platform.

**/
.social-icons-heading {
  width: 100%;
  display: block;
  color: #5F7B27; }

.social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .social-icons.product, .social-icons.module {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    margin: 10px 0; }
    @media screen and (min-width: 112.5em) {
      .social-icons.product, .social-icons.module {
        float: right; } }
  .social-icons.review {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px; }
  .social-icons.footer {
    margin: 0 0 20px;
    padding: 0 0 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media screen and (min-width: 112.5em) {
      .social-icons.footer {
        margin: 0 0 20px;
        padding: 0 0 30px; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #7a8e52;
      font-size: 1.0625rem;
      font-weight: 700;
      text-transform: none;
      line-height: 1; }
      @media screen and (min-width: 112.5em) {
        .social-icons.footer .social-icons-heading h3 {
          margin: 0 0 35px; } }
    .social-icons.footer a {
      width: 45px;
      height: 45px; }
      .social-icons.footer a:before {
        font-size: 23px; }
    .social-icons.footer .icons-container {
      width: 100%;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .social-icons a {
    width: 35px;
    height: 35px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #5F7B27;
    border-width: 2px;
    border-style: solid;
    border-color: #5F7B27;
    border-radius: 25px;
    -webkit-transition: border-color 0.8s , opacity 0.8s;
    transition: border-color 0.8s , opacity 0.8s; }
    .social-icons a:before {
      font-size: 18px;
      font-family: "Font Awesome Brands";
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .social-icons a:hover {
      background-color: #DB651B;
      border-color: #DB651B;
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s , opacity 0.6s;
      transition: background-color 0.6s, color 0.6s , opacity 0.6s; }
      .social-icons a:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #5F7B27;
      border-color: #5F7B27; }
      .social-icons a:active:before {
        color: #ffffff; }
    .social-icons a.facebook:before {
      content: ""; }
    .social-icons a.twitter:before {
      content: ""; }
    .social-icons a.linkedIn:before {
      content: ""; }
    .social-icons a.instagram:before {
      content: "";
      padding: 5px; }
    .social-icons a.youtube:before {
      content: ""; }
    .social-icons a.google-plus:before, .social-icons a.google_plus:before {
      content: ""; }
    .social-icons a.email:before {
      content: "";
      font-family: "Font Awesome Solid"; }
  .social-icons .icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }

.reveal-social-icons-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .reveal-social-icons-container .social-icons {
    max-width: 0;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow: hidden;
    -webkit-transition: max-width 0.8s;
    transition: max-width 0.8s; }
    .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active {
      max-width: 300px;
      height: auto;
      -webkit-transition: max-width 0.6s;
      transition: max-width 0.6s; }
      .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active + .social-icons-share-toggle {
        margin-left: 10px; }
    .reveal-social-icons-container .social-icons.reveal-over-toggle {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 8px;
      background-color: #ffffff; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle.active {
        max-width: 300px;
        height: auto;
        -webkit-transition: max-width 0.6s;
        transition: max-width 0.6s;
        padding: 8px;
        border: 1px solid #5F7B27;
        z-index: 1000; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle.active + .social-icons-share-toggle {
          margin-left: 0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 10px; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container:before {
          content: '';
          width: 1px;
          height: 80%;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: #dadada; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #000000;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:hover:before {
          color: #5F7B27;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:active:before {
          color: #DB651B;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.social-icons-share-toggle .share-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
  font-size: 0.875rem;
  color: #959595;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .social-icons-share-toggle .share-button:after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #5F7B27;
    font-size: 12px;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .social-icons-share-toggle .share-button:hover, .social-icons-share-toggle .share-button:hover:after {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .social-icons-share-toggle .share-button:active, .social-icons-share-toggle .share-button:active:after {
    color: #5F7B27; }

/*
----- Equipment selector ( Printer wizard ) ------ 
- The equipment selector drop down selection.
- Equipment selector list which is essentially a list of anchors.
*/
.equipment-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #5f7b27;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #484848));
  background: linear-gradient(0deg, #dadada 5%, #484848 65%); }
  @media screen and (min-width: 112.5em) {
    .equipment-selector-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 20px 30px; } }

.equipment-selector-heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 0;
  text-align: center;
  font-size: 1.625rem;
  font-style: italic;
  font-weight: 400;
  color: #ffffff; }
  @media screen and (min-width: 112.5em) {
    .equipment-selector-heading {
      padding: 0;
      text-align: left; } }
  .equipment-selector-heading span {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .equipment-selector-heading span {
        width: auto;
        margin-right: 25px; } }

.equipment-selectors {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 10px 20px; }
  @media screen and (min-width: 112.5em) {
    .equipment-selectors {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 0; } }
  .equipment-selectors form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .equipment-selectors label.control {
    width: 100%;
    margin: 5px 0; }
    @media screen and (min-width: 112.5em) {
      .equipment-selectors label.control {
        max-width: 300px;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin: 0 15px; } }
  .equipment-selectors a {
    max-height: 45px;
    margin: 5px auto; }
    @media screen and (min-width: 112.5em) {
      .equipment-selectors a {
        margin: 0 0 0 auto; } }

.equipment-selector-list {
  margin-top: 20px; }
  @media screen and (min-width: 112.5em) {
    .equipment-selector-list {
      margin-top: 40px; } }
  .equipment-selector-list h2 {
    margin: 0 0 0 0 25px-10px; }
  .equipment-selector-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .equipment-selector-list ul li {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin: 0;
      padding: 10px 0; }
      @media print, screen and (min-width: 40em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
      @media screen and (min-width: 112.5em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 33%;
              flex-basis: 33%; } }
    .equipment-selector-list ul a:hover {
      text-decoration: underline; }

/*
----- Pick & Mix ------ 
- A selection of multiple items to create a pack.
*/
.pick-n-mix-container {
  margin: 15px 0;
  padding: 0 0 25px;
  background: #5f7b27;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #484848));
  background: linear-gradient(0deg, #dadada 5%, #484848 65%);
  border-radius: 0; }
  @media screen and (min-width: 112.5em) {
    .pick-n-mix-container {
      padding: 0 0 50px; } }

.pick-n-mix-header {
  margin-bottom: 20px;
  text-align: center;
  color: #ffffff; }
  .pick-n-mix-header h2 {
    margin: 0 0 25px;
    font-size: 2.1875rem;
    font-weight: 400;
    font-style: italic;
    color: #ffffff; }
    .pick-n-mix-header h2:before {
      background-color: #ffffff; }
  .pick-n-mix-header h3 {
    font-size: 1.625rem;
    color: #ffffff; }
  .pick-n-mix-header h4 {
    padding: 0 10px;
    margin: 0 0 20px;
    font-size: 1.6875rem;
    color: #ffffff; }
    .pick-n-mix-header h4 span {
      color: #DB651B; }
  .pick-n-mix-header p {
    padding: 0 10px;
    margin: 0;
    font-size: 1.125rem; }
  .pick-n-mix-header .header-background {
    margin-bottom: 20px;
    padding: 30px 10px;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: 1px solid #ffffff; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-header .header-background {
        padding: 20px 10px; } }

.pick-n-mix-selector-container {
  padding: 0 10px; }
  @media screen and (min-width: 112.5em) {
    .pick-n-mix-selector-container {
      max-width: 850px;
      width: 100%;
      margin: auto; } }
  .pick-n-mix-selector-container .pick-n-mix-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 7.5px 0; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-selector-container .pick-n-mix-item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  @media screen and (min-width: 112.5em) {
    .pick-n-mix-selector-container .image-container {
      margin-right: 10px; } }
  .pick-n-mix-selector-container .image-container .image {
    --media-aspect-ratio: 1/1;
    border-radius: 0;
    aspect-ratio: var(--media-aspect-ratio, auto); }
  .pick-n-mix-selector-container .pick-n-mix-item-description {
    width: 100%;
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-selector-container .pick-n-mix-item-description {
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .pick-n-mix-selector-container .slider {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 20px; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-selector-container .slider {
        max-width: 240px;
        width: 100%;
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        margin: 0 40px; } }
  @media screen and (min-width: 112.5em) {
    .pick-n-mix-selector-container .input-group .label {
      display: none; } }
  .pick-n-mix-selector-container .pick-n-mix-total-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 22.5px;
    color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row {
        margin-bottom: 45px; } }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container, .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container {
      margin: 17.5px 0; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
        color: #DB651B;
        margin: 0 20px; }
        @media screen and (min-width: 112.5em) {
          .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
            margin: 0 40px; } }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .selected-count {
        width: 50px;
        height: 45px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 40px;
        font-size: 0.9375rem;
        font-weight: 800;
        color: #ffffff;
        border-color: #c8c8c8;
        background-color: #DB651B; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message {
      opacity: 0;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s;
      font-size: 1rem; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message.active {
        opacity: 1;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count {
      margin-right: 5px;
      font-size: 1.125rem;
      color: #DB651B; }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row .form-error {
        text-align: right; } }

.pick-n-mix-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    .pick-n-mix-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .pick-n-mix-buttons-container .add-to-basket-container {
    width: 100%; }
    @media print, screen and (max-width: 112.49875em) {
      .pick-n-mix-buttons-container .add-to-basket-container button[type=submit] {
        margin-rigth: 0;
        margin-left: 0; } }
    @media screen and (min-width: 112.5em) {
      .pick-n-mix-buttons-container .add-to-basket-container {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        margin-left: auto; } }

input.ui-state-active, .input-number.ui-state-active {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-color: #e5b701;
  border-width: 2px;
  -webkit-transition: box-shodaw 0.6s;
  transition: box-shodaw 0.6s; }

.cms-content-container + .pick-n-mix-container {
  margin-top: 10px; }
  @media print, screen and (min-width: 40em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 10px; } }
  @media screen and (min-width: 112.5em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 15px; } }

@media screen and (min-width: 112.5em) {
  #productListItems.list .pick-n-mix-button {
    width: 25%;
    text-align: center; } }

.pick-n-mix-selection {
  margin: 5px 0;
  padding: 0 0 0 20px; }
  .pick-n-mix-selection li {
    font-size: 0.875rem; }

/* 

----- Animations ----- 
TODO: This is the very first dev cycle of just tring to get HTML5 Canvas's exported from adobe animate to work inside of express and to have multiple animations on the page at once, so there is still much work to be done here its more of a proof of concept at this point.
- Animated HTML5 Canvas's
- Interactive Animations.
*/
canvas {
  max-width: 100%; }

.client-search-no-results {
  display: none; }
  .client-search-no-results.active {
    display: block; }
  .client-search-no-results h3 {
    margin-bottom: 10px; }

/*
----- Top bar -----
This has had to be written due to foundation's top-bar currently doesn't support centered items, you only get the option top-bar-left & top-bar-right, the design calls for the currency selector to be in the middle.
*/
.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    .top-bar {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .top-bar.upper {
    max-width: 1800px;
    margin: auto; }
  .top-bar .top-bar-left, .top-bar .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .top-bar .top-bar-left > ul, .top-bar .top-bar-right > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: auto 0; }
      .top-bar .top-bar-left > ul li, .top-bar .top-bar-right > ul li {
        padding: 7.5px 15px; }
        .top-bar .top-bar-left > ul li:first-child, .top-bar .top-bar-right > ul li:first-child {
          padding-right: 15px !important; }
        .top-bar .top-bar-left > ul li:last-child, .top-bar .top-bar-right > ul li:last-child {
          padding-left: 15px !important; }
  .top-bar .top-bar-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  @media screen and (min-width: 112.5em) {
    .top-bar .top-bar-right {
      margin-left: auto; } }
  .top-bar .menu, .top-bar .dropdown.menu {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      .top-bar .menu > li, .top-bar .dropdown.menu > li {
        border-radius: 0; } }
    .top-bar .menu > li a:active, .top-bar .dropdown.menu > li a:active {
      background-color: transparent; }
    .top-bar .menu li, .top-bar .dropdown.menu li {
      list-style: none; }
      .top-bar .menu li:hover, .top-bar .dropdown.menu li:hover {
        background-color: transparent; }
        .top-bar .menu li:hover > a, .top-bar .dropdown.menu li:hover > a {
          color: #DB651B; }
      .top-bar .menu li:active, .top-bar .dropdown.menu li:active {
        background-color: transparent; }
        .top-bar .menu li:active > a, .top-bar .dropdown.menu li:active > a {
          color: #5F7B27; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: #000000;
        font-family: "Open Sans", "Open Sans Fallback", "Arial";
        font-size: 0.9375rem;
        font-weight: 400;
        text-decoration: none;
        text-transform: none;
        padding: 7.5px 15px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        .top-bar .menu li a:hover, .top-bar .dropdown.menu li a:hover {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .top-bar .menu li.site-setting-menu > a:before, .top-bar .dropdown.menu li.site-setting-menu > a:before {
        color: #000000; }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: #000000; }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #DB651B; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #eeeeee;
  padding: 0; }
  @media screen and (min-width: 112.5em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0; } }

.sg-page-header {
  margin-bottom: 35px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media screen and (min-width: 112.5em) {
    .sg-page-header {
      margin: 0 15px 35px 0; } }

.sg-section-container {
  margin: 0 15px 15px 0; }
  @media screen and (min-width: 112.5em) {
    .sg-section-container {
      margin: 0 15px 25px 0; } }

.sg-heading {
  padding: 15px 10px;
  background-color: #def3b3; }
  .sg-heading h2 {
    color: #5f7b27; }

.sg-intro {
  padding: 0 5px; }

.sg-sub-heading {
  padding: 10px 5px;
  background-color: #def3b3; }
  .sg-sub-heading h3 {
    color: #5f7b27;
    font-weight: 600;
    font-size: 1.5rem; }

.sg-sub-description {
  margin-bottom: 10px; }

.sg-content {
  display: block;
  margin-bottom: 20px;
  padding: 10px;
  border: 2px solid #f3f3f3; }

.sg-demo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0;
  margin: 0;
  list-style: none; }
  .sg-demo-list li {
    padding: 0 10px; }

.sg-item-information-container,
.css-property-view {
  margin: 0 0 20px;
  padding: 10px;
  background-color: #eeeeee;
  color: #484848; }
  .sg-item-information-container p,
  .css-property-view p {
    margin: 3px 0; }
  .sg-item-information-container p,
  .sg-item-information-container li,
  .css-property-view p,
  .css-property-view li {
    font-size: 0.875rem; }
  .sg-item-information-container ul,
  .css-property-view ul {
    margin: 0;
    padding: 0 0 0 20px; }
  .sg-item-information-container .item-info-label,
  .css-property-view .item-info-label {
    width: 200px;
    padding-right: 5px;
    font-weight: 600; }

.sg-item-seperator {
  border: 1px solid #eeeeee; }

.sg-cell-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 10px 20px;
  padding: 15px;
  border: 1px solid #eeeeee; }

.sg-colour-palette .grid-collection-x {
  padding: 15px 0; }
  .sg-colour-palette .grid-collection-x:not(:last-child) {
    border-bottom: 2px solid #eeeeee; }

.colour-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5px 0;
  padding: 8px 8px 6px;
  color: #484848;
  text-transform: uppercase;
  border: 1px solid #dadada;
  border-radius: 2px;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  .colour-block:hover .lightened-percentage {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .colour-block .lightened-percentage {
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 10px;
    background-color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    opacity: .7;
    text-transform: uppercase;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .colour-block [data-colour-preview] {
    display: block;
    width: 100%;
    height: 100px;
    margin-bottom: 0.42857rem; }
  .colour-block .colour-hex-label {
    text-align: right;
    font-weight: 600; }
  .colour-block .colour0 {
    background-color: transparent; }
  .colour-block .colour1 {
    background-color: #ffffff; }
  .colour-block .colour2 {
    background-color: #000000; }
  .colour-block .colour3 {
    background-color: #eeeeee; }
  .colour-block .colour3-1 {
    background-color: #dadada; }
  .colour-block .colour3-2 {
    background-color: #aeaeae; }
  .colour-block .colour3-3 {
    background-color: #959595; }
  .colour-block .colour3-4 {
    background-color: #c8c8c8; }
  .colour-block .colour3-5 {
    background-color: #f3f3f3; }
  .colour-block .colour3-6 {
    background-color: #484848; }
  .colour-block .colour3-7 {
    background-color: #7b7b7b; }
  .colour-block .colour4 {
    background-color: #5F7B27; }
  .colour-block .colour4-1 {
    background-color: #93b64d; }
  .colour-block .colour4-2 {
    background-color: #7a8e52; }
  .colour-block .colour4-3 {
    background-color: #8c8e8a; }
  .colour-block .colour4-4 {
    background-color: #c6c7c0; }
  .colour-block .colour4-5 {
    background-color: #85926c; }
  .colour-block .colour4-6 {
    background-color: #f4f6ee; }
  .colour-block .colour4-7 {
    background-color: #447e15; }
  .colour-block .colour6 {
    background-color: #DB651B; }
  .colour-block .colour6-1 {
    background-color: #9b3d1e; }
  .colour-block .colour6-2 {
    background-color: #e5b22f; }
  .colour-block .accent-colour-1-lightness-0 {
    background-color: #c00000; }
  .colour-block .accent-colour-1-lightness-1 {
    background-color: #e00000; }
  .colour-block .accent-colour-1-lightness-2 {
    background-color: #ff0101; }
  .colour-block .accent-colour-1-lightness-3 {
    background-color: #ff2020; }
  .colour-block .accent-colour-1-lightness-4 {
    background-color: #ff4040; }
  .colour-block .accent-colour-1-lightness-5 {
    background-color: #ff6060; }
  .colour-block .accent-colour-1-lightness-6 {
    background-color: #ff8080; }
  .colour-block .accent-colour-1-lightness-7 {
    background-color: #ffa0a0; }
  .colour-block .accent-colour-1-lightness-8 {
    background-color: #ffbfbf; }
  .colour-block .accent-colour-1-lightness-9 {
    background-color: #ffdfdf; }
  .colour-block .accent-colour-1-lightness-10 {
    background-color: #ffefef; }
  .colour-block .accent-colour-2-lightness-0 {
    background-color: #2b579a; }
  .colour-block .accent-colour-2-lightness-1 {
    background-color: #3265b2; }
  .colour-block .accent-colour-2-lightness-2 {
    background-color: #3b73c8; }
  .colour-block .accent-colour-2-lightness-3 {
    background-color: #5485cf; }
  .colour-block .accent-colour-2-lightness-4 {
    background-color: #6c96d6; }
  .colour-block .accent-colour-2-lightness-5 {
    background-color: #85a8dd; }
  .colour-block .accent-colour-2-lightness-6 {
    background-color: #9db9e4; }
  .colour-block .accent-colour-2-lightness-7 {
    background-color: #b6cbeb; }
  .colour-block .accent-colour-2-lightness-8 {
    background-color: #cedcf1; }
  .colour-block .accent-colour-2-lightness-9 {
    background-color: #e7eef8; }
  .colour-block .accent-colour-2-lightness-10 {
    background-color: #f3f6fc; }
  .colour-block .accent-colour-3-lightness-0 {
    background-color: #e5b701; }
  .colour-block .accent-colour-3-lightness-1 {
    background-color: #fecc04; }
  .colour-block .accent-colour-3-lightness-2 {
    background-color: #fed120; }
  .colour-block .accent-colour-3-lightness-3 {
    background-color: #fed73c; }
  .colour-block .accent-colour-3-lightness-4 {
    background-color: #fedd58; }
  .colour-block .accent-colour-3-lightness-5 {
    background-color: #fee274; }
  .colour-block .accent-colour-3-lightness-6 {
    background-color: #ffe88f; }
  .colour-block .accent-colour-3-lightness-7 {
    background-color: #ffeeab; }
  .colour-block .accent-colour-3-lightness-8 {
    background-color: #fff4c7; }
  .colour-block .accent-colour-3-lightness-9 {
    background-color: #fff9e3; }
  .colour-block .accent-colour-3-lightness-10 {
    background-color: #fffcf1; }
  .colour-block .accent-colour-4-lightness-0 {
    background-color: #a234e3; }
  .colour-block .accent-colour-4-lightness-1 {
    background-color: #ab48e6; }
  .colour-block .accent-colour-4-lightness-2 {
    background-color: #b55de9; }
  .colour-block .accent-colour-4-lightness-3 {
    background-color: #be71eb; }
  .colour-block .accent-colour-4-lightness-4 {
    background-color: #c785ee; }
  .colour-block .accent-colour-4-lightness-5 {
    background-color: #d19af1; }
  .colour-block .accent-colour-4-lightness-6 {
    background-color: #daaef4; }
  .colour-block .accent-colour-4-lightness-7 {
    background-color: #e3c2f7; }
  .colour-block .accent-colour-4-lightness-8 {
    background-color: #ecd6f9; }
  .colour-block .accent-colour-4-lightness-9 {
    background-color: #f6ebfc; }
  .colour-block .accent-colour-4-lightness-10 {
    background-color: #faf5fe; }
  .colour-block .success-colour {
    background-color: #12811f; }
  .colour-block .warning-colour {
    background-color: #ff5e05; }
  .colour-block .alert-colour {
    background-color: #b20c0c; }
  .colour-block .price-colour {
    background-color: #ff0101; }
  .colour-block .saving-colour {
    background-color: #5F7B27; }
  .colour-block .rrp-colour {
    background-color: #000000; }

.sg-buttons .sg-comparison-table .action-button {
  margin: 0 auto !important; }

.sg-on-page-notifications td {
  vertical-align: middle; }

.sg-on-page-notifications .notification-type {
  width: 100%; }
  .sg-on-page-notifications .notification-type + .notification-style {
    margin-top: 10px;
    padding: 10px 0;
    border-top: 1px solid #eeeeee; }

.sg-on-page-notifications .notification-style {
  color: #484848; }

.sg-quantity-selectors .product-grid-module {
  margin: auto 0 0; }

.sg-callouts .callout-container {
  position: relative; }

.sg-comparison-table th {
  text-align: center; }
  .sg-comparison-table th:first-child {
    padding-left: 10px;
    text-align: left; }

.sg-comparison-table td:first-child {
  padding-left: 10px;
  font-weight: 600; }

.sg-comparison-table td:not(:first-child) {
  padding: 10px;
  text-align: center; }

.sg-comparison-table td [class*="-button"] {
  margin-right: auto;
  margin-left: auto; }

#table-of-contents-sticky-container .sticky {
  z-index: 2; }

.table-of-contents {
  width: 100%;
  display: block;
  margin-right: 10px;
  padding: 10px;
  border: 1px solid #eeeeee;
  background-color: #ffffff; }
  @media screen and (min-width: 112.5em) {
    .table-of-contents {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .table-of-contents .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
    padding: 15px 10px;
    color: #5f7b27;
    background-color: #def3b3; }
    .table-of-contents .heading h2 {
      margin: 0;
      padding: 0;
      font-size: 1.375rem;
      line-height: 1; }
  @media screen and (min-width: 112.5em) {
    .table-of-contents .sections {
      max-height: 60vh;
      overflow-y: auto; } }
  .table-of-contents .sections ul {
    padding: 0;
    list-style: none; }
    .table-of-contents .sections ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-left: 20px;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .table-of-contents .sections ul li:first-child:before {
        border-top-right-radius: 10px;
        border-top-left-radius: 10px; }
      .table-of-contents .sections ul li:last-child:before {
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px; }
      .table-of-contents .sections ul li:before {
        content: '';
        width: 5px;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-color: #484848;
        -webkit-transition: background-color .6s ease-in;
        transition: background-color .6s ease-in; }
      .table-of-contents .sections ul li:hover {
        background-color: #eeeeee;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .table-of-contents .sections ul li.active {
        background-color: #def3b365; }
        .table-of-contents .sections ul li.active:before {
          background-color: #5F7B27;
          -webkit-transition: background-color .4s ease-out;
          transition: background-color .4s ease-out; }
        .table-of-contents .sections ul li.active a {
          font-weight: 700;
          -webkit-transition: font-weight .6s ease-in;
          transition: font-weight .6s ease-in; }
      .table-of-contents .sections ul li a {
        width: 100%;
        display: block;
        padding: 10px 0;
        font-size: 0.875rem;
        font-weight: 600;
        color: #484848;
        -webkit-transition: font-weight .4s ease-out;
        transition: font-weight .4s ease-out; }
        .table-of-contents .sections ul li a:hover {
          text-decoration: underline; }

/* This styles the example rows used in the grid documentation. */
.grid-x.display {
  background: #eee;
  font-size: 11px;
  margin-bottom: 10px;
  line-height: 2rem;
  border: solid 1px #c6c6c6;
  margin-left: 0 !important;
  margin-right: 0 !important; }

.grid-x.display .cell:nth-child(2),
.grid-x.display .cell.small-centered,
.grid-x.display .cell.large-centered {
  background: #e1e1e1; }

.grid-x.display .cell.color-end {
  background: #d4d4d4; }

.sg-header {
  background: #eee;
  padding: 2rem; }

.grid-container {
  max-width: 1400px; }

.sg-side-menu {
  margin-left: 1rem; }

.grid-container.padded {
  padding-top: 2rem; }

.sg-side-menu a {
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in; }

.sg-side-menu a:hover {
  background: #eee; }

.sg-side-menu a:focus {
  background: #1468a0;
  color: #fff; }

.sg-side-menu.menu {
  overflow: auto;
  height: 100vh;
  padding-bottom: 5rem; }

/*
----- Admin -----
This will potential hand vmAdmin v2.
*/
.vmadmin-editor {
  width: 100%;
  height: 100%;
  position: absolute;
  border: 2px solid transparent;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .vmadmin-editor.active {
    border-color: #aeaeae;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .vmadmin-editor.inline-editor {
    position: relative; }
    .vmadmin-editor.inline-editor .editor-trigger-controls {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      max-height: 0;
      top: auto;
      right: 0;
      bottom: -30px; }
      .vmadmin-editor.inline-editor .editor-trigger-controls.active {
        max-height: 200px;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
  .vmadmin-editor .ck-content.ck-editor__editable_inline > p {
    margin: 0 !important;
    padding: 0 !important; }
  .vmadmin-editor .ck-content.ck.ck-editor__editable {
    border-color: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  .vmadmin-editor .editor-trigger-controls {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: auto;
    background-color: rgba(174, 174, 174, 0.9);
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s;
    z-index: 100000; }
    .vmadmin-editor .editor-trigger-controls .admin-button {
      position: relative;
      margin: 5px;
      cursor: pointer; }
      .vmadmin-editor .editor-trigger-controls .admin-button:before {
        padding: 5px 10px;
        color: #5F7B27;
        font-family: "Font Awesome Solid";
        font-size: 20px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .vmadmin-editor .editor-trigger-controls .admin-button:hover:before {
        color: #DB651B;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .vmadmin-editor + div {
    z-index: 1; }

.property-editor-trigger:before {
  content: '\f013'; }

.content-editor-trigger:before {
  content: '\f044'; }

.editor-save-button.inline:before {
  content: '\f0c7'; }

.editor-cancel-button.inline:before {
  content: '\f00d'; }

.off-canvas-header .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .off-canvas-header .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:hover:before {
    color: #5F7B27;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:active:before {
    color: #DB651B;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.off-canvas-header .off-canvas-heading {
  margin: 0;
  padding: 16px 0;
  background-color: #5F7B27; }
  @media screen and (min-width: 112.5em) {
    .off-canvas-header .off-canvas-heading {
      margin: 0 0 35px; } }

.off-canvas-header h2 {
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 700; }

.off-canvas-header p {
  font-size: 1rem; }

/*
----- Accordion Tabs ------ 
- TODO: The naming conventions need to be re-writen at some point as this was originally build for on being used on the product page hense the very specific naming of id's and classes.
- This functionality is based on Foundation's Responsive Accordion Tabs https://get.foundation/sites/docs/responsive-accordion-tabs.html
- The styling for product tabbed notes is defined here
  - Attachments
  - Specification's
  - Reviews
  - Componants.

*/
.responsive-tabs-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0; }
  @media screen and (min-width: 112.5em) {
    .responsive-tabs-header .responsive-tabs-controls {
      margin-left: auto; } }
  .responsive-tabs-header .accordion-toggle-all-button {
    font-size: 0.75rem;
    font-weight: 700;
    color: #5F7B27; }
    .responsive-tabs-header .accordion-toggle-all-button:after {
      content: "";
      width: 18px;
      height: 18px;
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-left: 10px;
      border-radius: 25px;
      border: 2px solid #5F7B27;
      background-color: #ffffff;
      color: #5F7B27;
      font-family: "Font Awesome Solid";
      font-size: 8px; }
    .responsive-tabs-header .accordion-toggle-all-button.active:after {
      content: ""; }

#tabbed-notes-container {
  visibility: hidden; }
  #tabbed-notes-container.component-ready {
    visibility: visible; }

.responsive-tabs {
  width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .responsive-tabs.component-ready {
    visibility: visible; }
  .responsive-tabs:has(.tabs.vertical) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  @media screen and (min-width: 112.5em) {
    .responsive-tabs.account-area {
      margin: 5px 0 0; } }
  .responsive-tabs.account-area .tabs-panel {
    padding: 10px; }
    @media screen and (min-width: 112.5em) {
      .responsive-tabs.account-area .tabs-panel {
        padding: 25px 0; } }
    .responsive-tabs.account-area .tabs-panel table {
      margin: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container {
      display: grid;
      gap: 10px; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container, .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-column: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container {
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container:after {
      grid-column: 2;
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-reference {
      padding-left: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-row: 3; } }
  .responsive-tabs.account-area .accordion-title {
    padding: 20px; }
    @media print, screen and (min-width: 40em) {
      .responsive-tabs.account-area .accordion-title {
        padding: 8px 20px; } }
  .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
    padding: 10px 5px; }
    @media screen and (min-width: 112.5em) {
      .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
        padding: 10px 20px; } }
  @media screen and (min-width: 112.5em) {
    .responsive-tabs.search-results .tabs-title a {
      padding: 18px 35px; } }
  .responsive-tabs.search-results .tabs-panel {
    padding: 45px 0; }
  .responsive-tabs.search-results .accordion-content[aria-hidden="false"] {
    padding: 20px 5px; }
  .responsive-tabs .tabs.vertical {
    position: relative;
    border: 0; }
    .responsive-tabs .tabs.vertical:after {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      background-color: #eeeeee; }
    .responsive-tabs .tabs.vertical .tabs-title {
      border-radius: 0;
      border-width: 0 1px 0 0;
      border-style: solid;
      border-color: #eeeeee;
      -webkit-transition: border-width 0.8s, border-color 0.8s;
      transition: border-width 0.8s, border-color 0.8s; }
      .responsive-tabs .tabs.vertical .tabs-title.is-active {
        background-color: #f4f6ee;
        border-color: #5F7B27;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.6s, border-color 0.6s;
        transition: border-width 0.6s, border-color 0.6s; }
        .responsive-tabs .tabs.vertical .tabs-title.is-active a {
          color: #5F7B27; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #DB651B;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.2s, border-color 0.6s;
        transition: border-width 0.2s, border-color 0.6s; }
      .responsive-tabs .tabs.vertical .tabs-title a {
        padding: 20px 10px 20px 15px;
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .responsive-tabs .tabs.vertical .tabs-title a:after {
          content: ''; }
        .responsive-tabs .tabs.vertical .tabs-title a .found-count {
          margin-left: auto; }
    .responsive-tabs .tabs.vertical + .tabs-content {
      -webkit-transition: none;
      transition: none; }
      @media print, screen and (min-width: 40em) {
        .responsive-tabs .tabs.vertical + .tabs-content .tabs-panel {
          padding: 10px 15px 10px 30px; } }
  .responsive-tabs .tabs-title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .responsive-tabs .tabs-title a {
      padding: 18px 80px;
      text-align: center; }
      @media screen and (min-width: 112.5em) {
        .responsive-tabs .tabs-title a {
          width: 100%; } }
    .responsive-tabs .tabs-title .found-count {
      margin-left: 5px; }
      .responsive-tabs .tabs-title .found-count:before {
        content: '('; }
      .responsive-tabs .tabs-title .found-count:after {
        content: ')'; }
      .responsive-tabs .tabs-title .found-count:before, .responsive-tabs .tabs-title .found-count:after {
        display: inline-block; }
  .responsive-tabs .tabs-panel table, .responsive-tabs .accordion-content table {
    border: 0; }
    .responsive-tabs .tabs-panel table tr td, .responsive-tabs .accordion-content table tr td {
      border: 0; }
  .responsive-tabs .tabs-panel {
    padding: 20px 25px; }
    @media screen and (min-width: 112.5em) {
      .responsive-tabs .tabs-panel {
        padding: 40px 50px; } }
  .responsive-tabs .accordion-item.is-active .accordion-content {
    padding: 20px 25px; }
    @media screen and (min-width: 112.5em) {
      .responsive-tabs .accordion-item.is-active .accordion-content {
        padding: 40px 50px; } }
  .responsive-tabs .tabs-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .responsive-tabs .accordion-item:last-child .accordion-content[aria-hidden=true] {
    border-bottom: 0 !important; }
  .responsive-tabs .tabs-content table:not([class*=preset]) tr:not(:last-child),
  .responsive-tabs .accordion-content table:not([class*=preset]) tr:not(:last-child) {
    border-bottom: 1px solid #dadada; }
  .responsive-tabs .tabs-content table:not([class*=preset]) td,
  .responsive-tabs .accordion-content table:not([class*=preset]) td {
    font-size: 0.875rem; }
  .responsive-tabs .tabs-content ul,
  .responsive-tabs .accordion-content ul {
    list-style: none; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1, #tabbed-notes-container .accordion-content .tabbed-specification-container h1, #tabbed-notes-container .accordion-content .tabbed-notes-container h1 {
  margin: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6;
  background-color: transparent; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2, #tabbed-notes-container .accordion-content .tabbed-specification-container h2, #tabbed-notes-container .accordion-content .tabbed-notes-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3, #tabbed-notes-container .accordion-content .tabbed-specification-container h3, #tabbed-notes-container .accordion-content .tabbed-notes-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #DB651B;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4, #tabbed-notes-container .accordion-content .tabbed-specification-container h4, #tabbed-notes-container .accordion-content .tabbed-notes-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #5F7B27;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5, #tabbed-notes-container .accordion-content .tabbed-specification-container h5, #tabbed-notes-container .accordion-content .tabbed-notes-container h5 {
  margin: 15px 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6, #tabbed-notes-container .accordion-content .tabbed-specification-container h6, #tabbed-notes-container .accordion-content .tabbed-notes-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p, #tabbed-notes-container .accordion-content .tabbed-specification-container p, #tabbed-notes-container .accordion-content .tabbed-notes-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  color: #000000; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img {
    margin: .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p + p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p + p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p + p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p + p, #tabbed-notes-container .accordion-content .tabbed-specification-container p + p, #tabbed-notes-container .accordion-content .tabbed-notes-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  text-align: left; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul {
  margin: 10px;
  padding: 0;
  list-style: none;
  line-height: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li:before, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #5F7B27;
      border-radius: 5px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  margin: 10px;
  padding: 0 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol {
      list-style-type: lower-roman; }
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol {
        list-style-type: lower-alpha; }
        #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol ol {
          list-style-type: lower-roman; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry li, #tabbed-notes-container .tabs-panel .tabbed-specification-container li, #tabbed-notes-container .tabs-panel .tabbed-notes-container li, #tabbed-notes-container .accordion-content .tabbed-cms-entry li, #tabbed-notes-container .accordion-content .tabbed-specification-container li, #tabbed-notes-container .accordion-content .tabbed-notes-container li {
  color: #000000;
  font-size: 0.9375rem; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h1, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h1 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h2, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h2 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h3, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h3 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h4, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h4 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h5, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h5 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h6, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h6 {
  margin-top: 15px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry dl, #tabbed-notes-container .tabs-panel .tabbed-specification-container dl, #tabbed-notes-container .tabs-panel .tabbed-notes-container dl, #tabbed-notes-container .accordion-content .tabbed-cms-entry dl, #tabbed-notes-container .accordion-content .tabbed-specification-container dl, #tabbed-notes-container .accordion-content .tabbed-notes-container dl {
  text-align: left; }

#tabbed-notes-container .tabs-panel p:not(:empty) + table, #tabbed-notes-container .tabs-panel p:not(:empty) + .comparison-table-container, #tabbed-notes-container .accordion-content p:not(:empty) + table, #tabbed-notes-container .accordion-content p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

#tabbed-notes-container .tabs-panel table, #tabbed-notes-container .accordion-content table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead tr, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead th, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead th {
      font-weight: 700; }
  #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
    display: block; }
    @media screen and (min-width: 112.5em) {
      #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
        display: table; } }
    #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 112.5em) {
        #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 112.5em) {
        #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  #tabbed-notes-container .tabs-panel table th, #tabbed-notes-container .accordion-content table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 112.5em) {
    #tabbed-notes-container .tabs-panel table td, #tabbed-notes-container .accordion-content table td {
      padding: 10px; } }
  #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 112.5em) {
      #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  #tabbed-notes-container .tabs-panel table tbody, #tabbed-notes-container .accordion-content table tbody {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody th, #tabbed-notes-container .accordion-content table tbody th {
      background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody tr:not(:last-child) th, #tabbed-notes-container .accordion-content table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 112.5em) {
      #tabbed-notes-container .tabs-panel table tbody tr, #tabbed-notes-container .accordion-content table tbody tr {
        display: table-row; } }
  #tabbed-notes-container .tabs-panel table .col-label, #tabbed-notes-container .accordion-content table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 112.49875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr, #tabbed-notes-container .accordion-content table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 112.49875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr:not(:last-child), #tabbed-notes-container .accordion-content table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  #tabbed-notes-container .tabs-panel table.no-wrap, #tabbed-notes-container .accordion-content table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  #tabbed-notes-container .tabs-panel table.comparison-table tbody td:first-child, #tabbed-notes-container .accordion-content table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

#tabbed-notes-container .tabbed-specification-container table tbody td:first-child {
  color: var(--neutral-colour-lightness-0);
  font-size: 0.9375rem;
  font-weight: 700; }

.tabs-panel .components-intro-container, .accordion-content .components-intro-container {
  margin: 0 0 30px;
  padding: 0;
  text-align: left; }

.tabs-panel:has(.components-intro-container) p:not(:empty) + table, .tabs-panel:has(.components-intro-container) p:not(:empty) + .comparison-table-container, .accordion-content:has(.components-intro-container) p:not(:empty) + table, .accordion-content:has(.components-intro-container) p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.tabs-panel:has(.components-intro-container) table, .accordion-content:has(.components-intro-container) table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead tr, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead th, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead th {
      font-weight: 700; }
  .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
    display: block; }
    @media screen and (min-width: 112.5em) {
      .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
        display: table; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 112.5em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .tabs-panel:has(.components-intro-container) table th, .accordion-content:has(.components-intro-container) table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 112.5em) {
    .tabs-panel:has(.components-intro-container) table td, .accordion-content:has(.components-intro-container) table td {
      padding: 10px; } }
  .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 112.5em) {
      .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .tabs-panel:has(.components-intro-container) table tbody, .accordion-content:has(.components-intro-container) table tbody {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody th, .accordion-content:has(.components-intro-container) table tbody th {
      background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody tr:not(:last-child) th, .accordion-content:has(.components-intro-container) table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 112.5em) {
      .tabs-panel:has(.components-intro-container) table tbody tr, .accordion-content:has(.components-intro-container) table tbody tr {
        display: table-row; } }
  .tabs-panel:has(.components-intro-container) table .col-label, .accordion-content:has(.components-intro-container) table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 112.49875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr, .accordion-content:has(.components-intro-container) table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 112.49875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child), .accordion-content:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .tabs-panel:has(.components-intro-container) table.no-wrap, .accordion-content:has(.components-intro-container) table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .tabs-panel:has(.components-intro-container) table.comparison-table tbody td:first-child, .accordion-content:has(.components-intro-container) table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.tabs-panel:has(.components-intro-container) .description-col, .tabs-panel:has(.components-intro-container) .reference-col, .accordion-content:has(.components-intro-container) .description-col, .accordion-content:has(.components-intro-container) .reference-col {
  text-align: left; }

.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 80px;
  padding: 0;
  border-bottom: 1px solid #dadada !important; }
  .tabs.vertical {
    width: 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-bottom: 0 !important; }
    @media screen and (min-width: 112.5em) {
      .tabs.vertical {
        max-width: 300px; } }
  .tabs .tabs-title {
    position: relative;
    border-style: solid;
    border-color: transparent;
    border-width: 1px 1px 0 1px;
    border-radius: 0 0 0 0; }
    .tabs .tabs-title.is-active {
      border-color: #dadada; }
      .tabs .tabs-title.is-active:after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        background-color: #ffffff; }
      .tabs .tabs-title.is-active a:after {
        content: ""; }
    .tabs .tabs-title a:after {
      content: "";
      margin: 0 10px;
      font-size: 20px;
      font-family: "Font Awesome Solid"; }
    .tabs .tabs-title a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-weight: 700;
      text-decoration: none;
      text-transform: none; }
      .tabs .tabs-title a:hover {
        color: var(--secondary-colour-lightness-0); }
      .tabs .tabs-title a:active {
        color: var(--primary-colour-lightness-0); }

.accordion {
  margin: 0;
  padding: 10px 0; }
  @media screen and (min-width: 112.5em) {
    .accordion {
      padding: 0; } }
  .accordion.panel-state-indicator-first .accordion-title:after {
    margin-right: 10px;
    margin-left: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .accordion.panel-state-indicator-first .accordion-title .title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .accordion.radio-indicators .accordion-item.is-active .accordion-title:after {
    content: "";
    font-family: "Font Awesome Solid"; }
  .accordion.radio-indicators .accordion-item .accordion-title:after {
    content: "";
    font-family: "Font Awesome Regular"; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-title {
    display: none; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-content {
    border-width: 1px; }
  .accordion.accordion-title-inverted-colours .accordion-title {
    background-color: #7a8e52;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:after {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title a.accordion-title-content {
      color: #ffffff;
      -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
      transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:hover {
      background-color: #7a8e52;
      -webkit-transition: background-color 0.6s, color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, color 0.6s, border-color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .accordion.accordion-title-inverted-colours .accordion-title:active {
      background-color: #8c8e8a; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #ffffff; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #ffffff; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #8c8e8a; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #ffffff; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #ffffff; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #ffffff; }
  .accordion .accordion-title-container {
    cursor: pointer; }
  .accordion .accordion-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: var(--neutral-colour-lightness-8);
      color: #6d6d6d;
      cursor: no-drop;
      pointer-events: none; }
      .accordion .accordion-title.disabled .title-icon {
        opacity: .4; }
    .accordion .accordion-title:after {
      content: "";
      margin-left: auto;
      font-size: 20px;
      font-family: "Font Awesome Solid";
      color: #959595; }
    .accordion .accordion-title .title-icon {
      width: 175px;
      height: 30px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      background-repeat: no-repeat;
      background-position: center; }
    .accordion .accordion-title .found-count {
      margin-right: 10px;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
  .accordion a.accordion-title:hover {
    color: #5F7B27; }
  .accordion .is-active .accordion-title {
    border-bottom: 0;
    background-color: var(--primary-colour-lightness-10); }
    .accordion .is-active .accordion-title:after {
      content: "";
      color: var(--primary-colour-lightness-0); }
  .accordion .accordion-item {
    margin-bottom: 10px; }
  .accordion .accordion-content {
    border-style: solid;
    border-color: #dadada;
    border-width: 0 1px 1px 1px; }

.accordion-content {
  height: 0;
  display: block !important;
  overflow: hidden; }
  .accordion-content[aria-hidden="false"] {
    height: auto;
    padding: 20px 25px; }
    @media screen and (min-width: 112.5em) {
      .accordion-content[aria-hidden="false"] {
        padding: 40px 50px; } }

.accordion-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.attachments-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 50%;
              flex: 1 0 50%; } }
  @media screen and (min-width: 112.5em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 33%;
              flex: 1 0 33%; } }

.attachments-container .attachment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  color: #000000;
  font-weight: 600;
  font-size: 0.9375rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .attachments-container .attachment:active {
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
    .attachments-container .attachment:active:before {
      color: #959595;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .attachments-container .attachment:before {
    content: "";
    font-family: "Font Awesome Regular";
    color: #447e15;
    margin: 0 15px 0 0;
    font-size: 26px; }

.attachments-container .brochure:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: rgba(95, 123, 39, 0.6); }

.attachments-container .user-guide:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(95, 123, 39, 0.6); }

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(95, 123, 39, 0.6); }

.attachments-container .word:before, .attachments-container [href$='.doc']:before, .attachments-container [href$='.docx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #2b579a; }

.attachments-container .powerpoint:before, .attachments-container [href$='.ppt']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #9b3d1e; }

.attachments-container .excel:before, .attachments-container [href$='.xls']:before, .attachments-container [href$='.xlsx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #5F7B27; }

.attachments-container .pdf:before, .attachments-container [href$='.pdf']:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: #ff0101; }

.attachments-container .csv:before, .attachments-container [href$='.csv']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(95, 123, 39, 0.9); }

.attachments-container .image-attachment:before, .attachments-container [href$='.jpg']:before, .attachments-container [href$='.png']:before, .attachments-container [href$='.gif']:before, .attachments-container [href$='.webm']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #959595; }

.attachments-container .video-attachment:before, .attachments-container [href$='.mov']:before, .attachments-container [href$='.mp4']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #484848; }

.attachments-container .zip:before, .attachments-container [href$='.zip']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #DB651B; }

/*
----- Sticky ------ 
Sticky functionality that is build ontop of https://get.foundation/sites/docs/sticky.html.

[IMPORTANT] - This CSS is not for the basket summmary or the header please view header.scss and basket.scss for that.
*/
.sticky {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sticky.is-stuck {
    position: fixed; }
  .sticky.is-anchored {
    position: absolute; }
  .sticky.is-stuck:not(.no-animate) {
    -webkit-transition: margin-top 0.6s;
    transition: margin-top 0.6s; }
  .sticky.is-anchored:not(.no-animate) {
    -webkit-transition: margin-top 0.8s;
    transition: margin-top 0.8s; }
  .sticky.element-not-in-viewport {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: unset !important; }

[data-axis-sticky-container] {
  width: 100%;
  position: relative; }
  [data-axis-sticky-container] .callbackContainer {
    position: initial; }

[data-axis-sticky] {
  width: 100%; }

[data-sticky-container] {
  width: 100%;
  position: relative; }

.sticky-side-buttons-container {
  width: 100%;
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons-container {
      max-width: 95%;
      margin: 0 auto;
      background-color: transparent;
      -webkit-box-shadow: none;
              box-shadow: none; } }
  @media screen and (min-width: 112.5em) {
    .sticky-side-buttons-container {
      max-width: 80%; } }
  @media screen and (min-width: 128.5em) {
    .sticky-side-buttons-container {
      max-height: 0;
      width: 128px;
      position: absolute;
      top: 0;
      left: unset;
      margin: 0; } }
  .sticky-side-buttons-container .sticky {
    width: 100%; }
    @media screen and (max-width: 128.5em) {
      .sticky-side-buttons-container .sticky {
        position: absolute !important;
        top: auto !important;
        bottom: 0 !important;
        margin-top: 0 !important; } }
    @media screen and (min-width: 120em) {
      .sticky-side-buttons-container .sticky.is-stuck {
        padding-top: 20px; } }

.sticky-side-buttons-container .sticky-side-buttons {
  visibility: visible; }

.sticky-side-buttons {
  width: 100%;
  visibility: hidden;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons {
      -webkit-box-shadow: none;
              box-shadow: none; } }
  .sticky-side-buttons ul {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons ul {
        gap: 10px; } }
    @media screen and (min-width: 128.5em) {
      .sticky-side-buttons ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sticky-side-buttons li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
    .sticky-side-buttons li button, .sticky-side-buttons li a {
      border-radius: 0; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
    @media screen and (min-width: 128.5em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
  .sticky-side-buttons .sticky-side-button {
    height: 100%; }
    @media screen and (min-width: 128.5em) {
      .sticky-side-buttons .sticky-side-button {
        width: 128px;
        height: 128px; }
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          padding: 10px; } }
    .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
      background-color: #DB651B;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
          background-color: #5F7B27; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
      color: #ffffff;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
      background-color: #ffffff; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
          background-color: #DB651B; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
      color: #484848;
      text-decoration: underline; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
      color: #484848; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button span[class*="-description"] {
      display: block;
      margin: 0;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 17px;
      text-align: center; }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button span[class*="-description"] {
          color: #484848;
          margin: 0 auto; } }
    .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
      height: 25px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

@media screen and (max-width: 112.49875em) and (orientation: landscape) {
  .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
    display: none; } }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
          height: auto; } }
      .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-family: "fontello";
        font-weight: 400;
        color: #ffffff;
        line-height: 1;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 128.5em) {
          .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
            color: #5F7B27; } }
    .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
      width: 100%;
      height: 100%;
      padding: 10px 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 10px;
      background-color: #5F7B27;
      border: 2px solid #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      @media print, screen and (min-width: 40em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border: 1px solid #eeeeee; } }
      @media screen and (min-width: 128.5em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          background-color: #ffffff;
          padding: 4px 14px;
          -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                  box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
      .sticky-side-buttons .sticky-side-button a.disabled, .sticky-side-buttons .sticky-side-button a[disabled], .sticky-side-buttons .sticky-side-button button.disabled, .sticky-side-buttons .sticky-side-button button[disabled] {
        background-color: #eeeeee;
        cursor: no-drop;
        border-color: #6d6d6d; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-description"], .sticky-side-buttons .sticky-side-button button.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-description"] {
          color: #6d6d6d; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-icon"]:before {
          color: #6d6d6d; }

/*
----- List Sorting Options  -----
- Holds the styles for the following: 
  - Product list(s)
  - Account area sorting ( historical transactions, call system, orders )
- The following components will be found here: 
  - List item count
  - Sort by 
  - Filters toggle ( If opening a popup )
  - View switcher ( Grid or Table )
  - Pagination 
  - Items per page.
*/
.AXISResultsContainer .control .label, .list-sort-container .control .label {
  width: 160px;
  margin-right: 13px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 112.5em) {
    .AXISResultsContainer .control .label, .list-sort-container .control .label {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.AXISResultsContainer, .list-sort-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  position: relative;
  margin: 0 0 10px;
  padding: 5px 0 20px; }
  @media screen and (min-width: 112.5em) {
    .AXISResultsContainer, .list-sort-container {
      gap: 10px 15px;
      margin: 0;
      padding: 0 0 20px; } }
  @media screen and (min-width: 100em) {
    .AXISResultsContainer, .list-sort-container {
      min-height: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .AXISResultsContainer > div, .list-sort-container > div {
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  .AXISResultsContainer .download-option, .list-sort-container .download-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .AXISResultsContainer .download-option:before, .list-sort-container .download-option:before {
      content: "";
      margin-right: 10px;
      font-family: "Font Awesome Solid";
      color: var(--primary-colour-lightness-3);
      font-size: 20px; }
    .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
      position: relative;
      padding: 0 5px;
      color: #000000;
      font-size: 0.875rem; }
      @media screen and (min-width: 112.5em) {
        .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
          padding: 0; } }
      .AXISResultsContainer .download-option a:hover, .list-sort-container .download-option a:hover {
        color: var(--secondary-colour-lightness-0); }
      .AXISResultsContainer .download-option a:not(:only-child):not(:first-child):before, .list-sort-container .download-option a:not(:only-child):not(:first-child):before {
        content: '';
        width: 2px;
        height: 60%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -6px;
        display: inline-block;
        margin: auto;
        background-color: #aeaeae; }
    .AXISResultsContainer .download-option .buttons-container, .list-sort-container .download-option .buttons-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 12px; }
  .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
        height: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; } }
    .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0);
      background-color: transparent; }
      @media screen and (min-width: 112.5em) {
        .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
          height: 100%; } }
  .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .filter-toggle-container .filter-toggle, .list-sort-container .filter-toggle-container .filter-toggle {
        padding: 0; } }
    .AXISResultsContainer .filter-toggle-container .filter-toggle:before, .list-sort-container .filter-toggle-container .filter-toggle:before {
      color: var(--primary-colour-lightness-3);
      margin-right: 15px; }
    .AXISResultsContainer .filter-toggle-container .active-filter-count, .list-sort-container .filter-toggle-container .active-filter-count {
      top: -6px;
      left: 10px; }
  .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
        width: auto; } }
    .AXISResultsContainer .call-search-container .control.search, .list-sort-container .call-search-container .control.search {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .call-search-container input, .list-sort-container .call-search-container input {
        min-width: 340px;
        height: 40px !important; }
        .AXISResultsContainer .call-search-container input + button, .list-sort-container .call-search-container input + button {
          height: 40px; } }
    .AXISResultsContainer .call-search-container .label, .list-sort-container .call-search-container .label {
      margin-right: 13px;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 112.5em) {
    .AXISResultsContainer .branch-filter, .list-sort-container .branch-filter {
      max-width: 490px; } }
  @media screen and (min-width: 112.5em) {
    .AXISResultsContainer .branch-filter select, .AXISResultsContainer .branch-filter .control-select-dropdown, .list-sort-container .branch-filter select, .list-sort-container .branch-filter .control-select-dropdown {
      width: 300px; } }
  .AXISResultsContainer .branch-filter .tooltip-container, .list-sort-container .branch-filter .tooltip-container {
    -ms-flex-item-align: center;
        align-self: center;
    margin-left: 5px; }
  .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #000000; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
      font-size: 0.9375rem; }
      @media screen and (min-width: 112.5em) {
        .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
          width: auto; } }
    .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
      width: 100%; }
      @media screen and (min-width: 112.5em) {
        .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
          width: 215px;
          height: 40px; } }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-container, .AXISResultsContainer .list-sort-by-container .control.select .control-select-container, .list-sort-container .AXISSortForm .control.select .control-select-container, .list-sort-container .list-sort-by-container .control.select .control-select-container {
      width: 215px; }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-dropdown, .AXISResultsContainer .list-sort-by-container .control.select .control-select-dropdown, .list-sort-container .AXISSortForm .control.select .control-select-dropdown, .list-sort-container .list-sort-by-container .control.select .control-select-dropdown {
      height: 40px; }
  .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
    width: 25%; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
        width: 10%;
        margin: 0; } }
    .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 10px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 112.5em) {
        .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
          gap: 0 5px; } }
      .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
        width: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center; }
        @media screen and (min-width: 112.5em) {
          .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
            border: 0; } }
      .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
        width: 100%;
        height: 100%;
        display: block;
        padding: 12px 8px;
        position: relative;
        background-color: var(--neutral-colour-lightness-10);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 112.5em) {
          .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
            padding: 12px; } }
        .AXISResultsContainer .AXISViewContainer ul a:hover, .AXISResultsContainer .AXISViewContainer ul .view-control:hover, .AXISResultsContainer .list-view-container ul a:hover, .AXISResultsContainer .list-view-container ul .view-control:hover, .list-sort-container .AXISViewContainer ul a:hover, .list-sort-container .AXISViewContainer ul .view-control:hover, .list-sort-container .list-view-container ul a:hover, .list-sort-container .list-view-container ul .view-control:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISViewContainer ul a:hover .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:hover .icon:before, .AXISResultsContainer .list-view-container ul a:hover .icon:before, .AXISResultsContainer .list-view-container ul .view-control:hover .icon:before, .list-sort-container .AXISViewContainer ul a:hover .icon:before, .list-sort-container .AXISViewContainer ul .view-control:hover .icon:before, .list-sort-container .list-view-container ul a:hover .icon:before, .list-sort-container .list-view-container ul .view-control:hover .icon:before {
            color: var(--white-colour); }
        .AXISResultsContainer .AXISViewContainer ul a:active, .AXISResultsContainer .AXISViewContainer ul .view-control:active, .AXISResultsContainer .list-view-container ul a:active, .AXISResultsContainer .list-view-container ul .view-control:active, .list-sort-container .AXISViewContainer ul a:active, .list-sort-container .AXISViewContainer ul .view-control:active, .list-sort-container .list-view-container ul a:active, .list-sort-container .list-view-container ul .view-control:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a:active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:active .icon:before, .AXISResultsContainer .list-view-container ul a:active .icon:before, .AXISResultsContainer .list-view-container ul .view-control:active .icon:before, .list-sort-container .AXISViewContainer ul a:active .icon:before, .list-sort-container .AXISViewContainer ul .view-control:active .icon:before, .list-sort-container .list-view-container ul a:active .icon:before, .list-sort-container .list-view-container ul .view-control:active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.active, .AXISResultsContainer .AXISViewContainer ul .view-control.active, .AXISResultsContainer .list-view-container ul a.active, .AXISResultsContainer .list-view-container ul .view-control.active, .list-sort-container .AXISViewContainer ul a.active, .list-sort-container .AXISViewContainer ul .view-control.active, .list-sort-container .list-view-container ul a.active, .list-sort-container .list-view-container ul .view-control.active {
          background-color: var(--primary-colour-lightness-10);
          cursor: not-allowed; }
          .AXISResultsContainer .AXISViewContainer ul a.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.active .icon:before, .AXISResultsContainer .list-view-container ul a.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.active .icon:before, .list-sort-container .AXISViewContainer ul a.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.active .icon:before, .list-sort-container .list-view-container ul a.active .icon:before, .list-sort-container .list-view-container ul .view-control.active .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled, .list-sort-container .list-view-container ul a.AXISViewList.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled {
          cursor: not-allowed;
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul a.AXISViewList.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul a.AXISViewList.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active, .list-sort-container .list-view-container ul a.AXISViewGrid.active, .list-sort-container .list-view-container ul a.AXISViewList.active, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active, .list-sort-container .list-view-container ul .view-control.AXISViewList.active {
          cursor: pointer;
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a .icon, .AXISResultsContainer .AXISViewContainer ul .view-control .icon, .AXISResultsContainer .list-view-container ul a .icon, .AXISResultsContainer .list-view-container ul .view-control .icon, .list-sort-container .AXISViewContainer ul a .icon, .list-sort-container .AXISViewContainer ul .view-control .icon, .list-sort-container .list-view-container ul a .icon, .list-sort-container .list-view-container ul .view-control .icon {
          width: 100%;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .AXISResultsContainer .AXISViewContainer ul a .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control .icon:before, .AXISResultsContainer .list-view-container ul a .icon:before, .AXISResultsContainer .list-view-container ul .view-control .icon:before, .list-sort-container .AXISViewContainer ul a .icon:before, .list-sort-container .AXISViewContainer ul .view-control .icon:before, .list-sort-container .list-view-container ul a .icon:before, .list-sort-container .list-view-container ul .view-control .icon:before {
            width: 16px;
            height: 16px;
            margin: auto;
            font-size: 16px;
            font-family: "Font Awesome Solid";
            color: var(--neutral-colour-lightness-0);
            line-height: 1;
            -webkit-transition: color 0.8s;
            transition: color 0.8s; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul a.grid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.grid .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul a.grid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.grid .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul a.grid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.grid .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul a.grid .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul .view-control.grid .icon:before {
          content: ""; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul a.list .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.list .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul a.list .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul .view-control.list .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul a.list .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul .view-control.list .icon:before, .list-sort-container .list-view-container ul a.AXISViewList .icon:before, .list-sort-container .list-view-container ul a.list .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList .icon:before, .list-sort-container .list-view-container ul .view-control.list .icon:before {
          content: ""; }
  .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
    width: 50%; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto; } }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .AXISPerPageContainer + .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer + .AXISPerPageContainer {
        margin-left: 0; } }
    .AXISResultsContainer .AXISPerPageContainer ul, .list-sort-container .AXISPerPageContainer ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 0;
      list-style: none; }
      .AXISResultsContainer .AXISPerPageContainer ul li, .list-sort-container .AXISPerPageContainer ul li {
        height: 100%;
        display: block;
        background-color: var(--neutral-colour-lightness-8);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:nth-child(2), .list-sort-container .AXISPerPageContainer ul li:nth-child(2) {
          margin: 0 5px; }
        .AXISResultsContainer .AXISPerPageContainer ul li:hover, .list-sort-container .AXISPerPageContainer ul li:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISPerPageContainer ul li:hover a, .list-sort-container .AXISPerPageContainer ul li:hover a {
            color: var(--white-colour);
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:active, .list-sort-container .AXISPerPageContainer ul li:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISPerPageContainer ul li:active a, .list-sort-container .AXISPerPageContainer ul li:active a {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISPerPageContainer ul li.active, .list-sort-container .AXISPerPageContainer ul li.active {
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISPerPageContainer ul li.active a, .list-sort-container .AXISPerPageContainer ul li.active a {
            color: var(--primary-colour-lightness-0);
            cursor: not-allowed; }
      .AXISResultsContainer .AXISPerPageContainer ul a, .list-sort-container .AXISPerPageContainer ul a {
        width: 100%;
        max-height: 40px;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10.26px 16px;
        font-size: 0.9375rem;
        font-weight: 400;
        color: var(--neutral-colour-lightness-0);
        border-radius: 0;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .AXISResultsContainer div:first-child.items-per-list-container, .list-sort-container div:first-child.items-per-list-container {
      margin-left: auto; } }
  .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
    width: 50%;
    gap: 0 10px; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
        max-width: 17%;
        width: 100%;
        gap: 0 5px;
        margin-left: auto; } }
    .AXISResultsContainer .items-per-list-container a, .list-sort-container .items-per-list-container a {
      max-height: 40px;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      padding: 10.26px 8px;
      background-color: var(--neutral-colour-lightness-10);
      color: var(--neutral-colour-lightness-0);
      font-size: 0.9375rem;
      font-weight: 400;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, color 0.8s;
      transition: background-color 0.8s, color 0.8s; }
      .AXISResultsContainer .items-per-list-container a:hover, .list-sort-container .items-per-list-container a:hover {
        color: var(--white-colour);
        background-color: var(--primary-colour-lightness-0);
        -webkit-transition: background-color 0.6s, color 0.6s;
        transition: background-color 0.6s, color 0.6s; }
      .AXISResultsContainer .items-per-list-container a:active, .list-sort-container .items-per-list-container a:active {
        background-color: var(--neutral-colour-lightness-8);
        color: var(--neutral-colour-lightness-0); }
      .AXISResultsContainer .items-per-list-container a.active, .list-sort-container .items-per-list-container a.active {
        background-color: var(--primary-colour-lightness-10);
        color: var(--primary-colour-lightness-0);
        cursor: not-allowed; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .items-per-list-container + .pagination-container, .AXISResultsContainer .items-per-list-container + .AXISPageNumbering, .list-sort-container .items-per-list-container + .pagination-container, .list-sort-container .items-per-list-container + .AXISPageNumbering {
        margin-left: 0; } }
  .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
    width: 50%;
    display: block;
    margin: 10px 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 112.5em) {
      .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
        width: 23%; } }
    .AXISResultsContainer .sort-by-days-container label, .list-sort-container .sort-by-days-container label {
      margin-right: 20px; }
    .AXISResultsContainer .sort-by-days-container .control.select, .list-sort-container .sort-by-days-container .control.select {
      width: 100%; }

.AXISPageNumbering, .pagination-container {
  width: 100%;
  height: 50px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  @media screen and (min-width: 112.5em) {
    .AXISPageNumbering, .pagination-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: 100%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 0 5px;
      margin-left: auto; } }
  .AXISPageNumbering a, .pagination-container a {
    max-height: 40px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10.26px 10px;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--neutral-colour-lightness-0);
    background-color: var(--neutral-colour-lightness-10);
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .AXISPageNumbering a:hover, .pagination-container a:hover {
      background-color: var(--primary-colour-lightness-0);
      color: var(--white-colour);
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s;
      transition: background-color 0.6s, color 0.6s; }
    .AXISPageNumbering a:active, .pagination-container a:active {
      background-color: var(--neutral-colour-lightness-8);
      color: var(--neutral-colour-lightness-0); }
    .AXISPageNumbering a.selected, .AXISPageNumbering a.active, .pagination-container a.selected, .pagination-container a.active {
      background-color: var(--primary-colour-lightness-10);
      color: var(--primary-colour-lightness-0); }
      .AXISPageNumbering a.selected:hover, .AXISPageNumbering a.active:hover, .pagination-container a.selected:hover, .pagination-container a.active:hover {
        cursor: not-allowed;
        text-decoration: none; }
  .AXISPageNumbering .AXISPageNumberJoiner, .AXISPageNumbering .pagination-option-joiner, .pagination-container .AXISPageNumberJoiner, .pagination-container .pagination-option-joiner {
    font-size: 0.9375rem; }

.paginationLabel, .pagination-label {
  margin-right: 13px;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-colour-lightness-0); }

/**

---- Manage Calls ---- 

- Formally know as the call portal before it got embedded in express, manage calls is account functionality that displays calls in a list in express.
- Styles included here: 
  - List for call list + events list.
  - Enquiry summary.
  - Call rating fonts.
  - Sticky buttons icons.
**/
.enquiry-header-section {
  padding: 20px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 112.5em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 0; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #5F7B27;
    text-transform: none; }
  .enquiry-header-section ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .enquiry-header-section ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 112.5em) {
        .enquiry-header-section ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 112.5em) {
        .enquiry-header-section ul li:not(:last-child) {
          margin-bottom: 5px; } }
    .enquiry-header-section ul .label {
      font-weight: 700;
      font-size: 0.875rem;
      color: #484848; }
      @media screen and (min-width: 112.5em) {
        .enquiry-header-section ul .label {
          width: 110px;
          display: inline-block; } }
    .enquiry-header-section ul .value {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.875rem; }
  @media screen and (min-width: 112.5em) {
    .enquiry-header-section .enquiry-header-heading {
      margin-bottom: 10px; } }
  .enquiry-header-section .control.checkbox:not(.small) input + span {
    background-color: #ffffff;
    border-color: #aeaeae; }
  .enquiry-header-section .control.radio:not(.checkbox) span.radio {
    border-color: #aeaeae; }

.call-rating-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  margin: 0 0 10px; }
  @media screen and (min-width: 112.5em) {
    .call-rating-container ul {
      gap: 5px;
      margin: 0; } }

.call-rating-container.page-view {
  width: 100px;
  height: 100px;
  margin: auto; }

.call-rating-container.list-view {
  width: 22.5px;
  height: 22.5px; }
  @media screen and (min-width: 112.5em) {
    .call-rating-container.list-view {
      margin: auto; } }

.call-rating-container .rating-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #484848; }

.call-rating-container .rating-information {
  display: block;
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1; }

.call-rating-container .call-rating-value {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-repeat: no-repeat; }
  .call-rating-container .call-rating-value input {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden; }
  .call-rating-container .call-rating-value input[type=radio]:checked + span.radio {
    opacity: 1;
    cursor: not-allowed;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .call-rating-container .call-rating-value.rating-icon-0 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-cannot-rate.svg");
    opacity: .1; }
  .call-rating-container .call-rating-value.rating-icon-0.unrated .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-unrated.svg");
    opacity: .5; }
  .call-rating-container .call-rating-value.rating-icon-1 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-2 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-3 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-average.svg"); }
  .call-rating-container .call-rating-value.rating-icon-4 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-good.svg"); }
  .call-rating-container .call-rating-value.rating-icon-5 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-good.svg"); }
  .call-rating-container .call-rating-value .icon {
    width: 100%;
    height: 100%; }
  .call-rating-container .call-rating-value .radio {
    width: 25px;
    height: 25px;
    display: block;
    opacity: .2;
    cursor: pointer;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .call-rating-container .call-rating-value .radio:hover {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .call-rating-container .call-rating-value .radio:active {
      opacity: .7; }

.call-urgency-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 112.5em) {
    .call-urgency-icon {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .call-urgency-icon.low {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-low.svg); }
  .call-urgency-icon.medium {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-medium.svg); }
  .call-urgency-icon.high {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-high.svg); }
  .call-urgency-icon.critical {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-critical.svg); }
  .call-urgency-icon:before {
    content: '';
    width: 22.5px;
    height: 22.5px;
    background-image: var(--urgency-image-url);
    display: block; }

.sticky-side-buttons .sticky-side-button .button-icon:before {
  font-size: 26px; }

@media screen and (min-width: 120em) {
  .sticky-side-buttons .sticky-side-button .button-icon:before {
    font-size: 32px; } }

.sticky-side-buttons .sticky-side-button .button-icon.call-back-to-list:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-request-archive:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-add-information:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-create:before {
  content: "";
  font-family: "fontello"; }

table.call-table, .responsive-reveal-table {
  table-layout: fixed; }
  @media screen and (min-width: 112.5em) {
    table.call-table, .responsive-reveal-table {
      margin: 10px 0; } }
  table.call-table td, .responsive-reveal-table td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top; }
  @media screen and (min-width: 112.5em) {
    table.call-table.enquiry-table, .responsive-reveal-table.enquiry-table {
      margin: 20px 0; } }
  table.call-table .notification-col, .responsive-reveal-table .notification-col {
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      table.call-table .notification-col, .responsive-reveal-table .notification-col {
        width: 12px; } }
    table.call-table .notification-col .notification-content, .responsive-reveal-table .notification-col .notification-content {
      margin-right: 20px;
      padding: 10px; }
  table.call-table td.unread-col, .responsive-reveal-table td.unread-col {
    vertical-align: middle; }
  table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
    width: 90px; }
    @media print, screen and (max-width: 112.49875em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        padding-right: 10px; }
        table.call-table td.call-number-col a, table.call-table th.call-number-col a, table.call-table .call-number-col a, .responsive-reveal-table td.call-number-col a, .responsive-reveal-table th.call-number-col a, .responsive-reveal-table .call-number-col a {
          color: #484848;
          font-size: 1.25rem;
          font-weight: 700; } }
    @media screen and (min-width: 112.5em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        width: 8%; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.customer-name-col, table.call-table th.customer-name-col, .responsive-reveal-table td.customer-name-col, .responsive-reveal-table th.customer-name-col {
      width: 12%;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table:has(.rating-col) td.subject-col, table.call-table:has(.rating-col) th.subject-col, table.call-table:has(.rating-col) .subject-col, .responsive-reveal-table:has(.rating-col) td.subject-col, .responsive-reveal-table:has(.rating-col) th.subject-col, .responsive-reveal-table:has(.rating-col) .subject-col {
      width: 15%; } }
  table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
    width: 55%; }
    @media print, screen and (min-width: 40em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 70%; } }
    @media print, screen and (max-width: 112.49875em) {
      table.call-table td.subject-col a, table.call-table th.subject-col a, table.call-table .subject-col a, .responsive-reveal-table td.subject-col a, .responsive-reveal-table th.subject-col a, .responsive-reveal-table .subject-col a {
        display: block;
        font-size: 1rem;
        font-weight: 700;
        color: #484848;
        line-height: 1; } }
    @media screen and (min-width: 112.5em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 23.7%;
        text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.service-contract-col, table.call-table th.service-contract-col, .responsive-reveal-table td.service-contract-col, .responsive-reveal-table th.service-contract-col {
      width: 11.5%;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.call-contact-col, table.call-table th.call-contact-col, .responsive-reveal-table td.call-contact-col, .responsive-reveal-table th.call-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.user-contact-col, table.call-table th.user-contact-col, .responsive-reveal-table td.user-contact-col, .responsive-reveal-table th.user-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.created-col, table.call-table th.created-col, .responsive-reveal-table td.created-col, .responsive-reveal-table th.created-col {
      width: 7.7%; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.last-updated, table.call-table th.last-updated, .responsive-reveal-table td.last-updated, .responsive-reveal-table th.last-updated {
      width: 7.7%; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.rating-col, table.call-table th.rating-col, .responsive-reveal-table td.rating-col, .responsive-reveal-table th.rating-col {
      width: 6%; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.urgency-col, table.call-table th.urgency-col, .responsive-reveal-table td.urgency-col, .responsive-reveal-table th.urgency-col {
      width: 7%; } }
  table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
    text-align: left; }
    @media screen and (min-width: 112.5em) {
      table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
        width: 7%;
        text-align: center; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.source-col, table.call-table th.source-col, .responsive-reveal-table td.source-col, .responsive-reveal-table th.source-col {
      width: 7%; } }
  table.call-table td.data-time-col p, table.call-table th.date-time-col p, .responsive-reveal-table td.data-time-col p, .responsive-reveal-table th.date-time-col p {
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 112.5em) {
    table.call-table td.data-time-col, table.call-table th.date-time-col, .responsive-reveal-table td.data-time-col, .responsive-reveal-table th.date-time-col {
      width: 16%;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.notes-col, table.call-table th.notes-col, .responsive-reveal-table td.notes-col, .responsive-reveal-table th.notes-col {
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.timestamp-col, table.call-table th.timestamp-col, .responsive-reveal-table td.timestamp-col, .responsive-reveal-table th.timestamp-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  @media screen and (min-width: 112.5em) {
    table.call-table td.changes-col, table.call-table th.changes-col, .responsive-reveal-table td.changes-col, .responsive-reveal-table th.changes-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
    padding: 10px 0;
    font-style: italic; }
    @media screen and (min-width: 112.5em) {
      table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
        padding: 10px 20px; } }
  table.call-table .ellipsis-text:hover, .responsive-reveal-table .ellipsis-text:hover {
    left: -5px; }
  table.call-table .call-notes-container, .responsive-reveal-table .call-notes-container {
    overflow-wrap: anywhere; }
  table.call-table tr.call-closed td:not(.rating-col):not(.unread-col), .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col) {
    opacity: .5; }
    table.call-table tr.call-closed td:not(.rating-col):not(.unread-col):hover, .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col):hover {
      opacity: 1; }

.enquiry-filters label {
  width: 100%; }
  .enquiry-filters label span.checkbox, .enquiry-filters label span.radio {
    margin-right: auto;
    margin-left: auto; }

.enquiry-filters .label {
  width: 80%;
  display: inline-block; }

.call-type-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 5px 0;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact; }
  @media screen and (min-width: 112.5em) {
    .call-type-icon {
      margin: 0 auto; } }
  .call-type-icon:before {
    font-family: "fontello";
    font-size: 14px;
    color: #7a8e52; }
  .call-type-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-type-icon.demo:before {
      font-size: 26px; }
  .call-type-icon.attachment:before {
    content: ""; }
  .call-type-icon.call-privacy:before {
    content: ""; }
  .call-type-icon.call-type:before {
    content: ""; }
  .call-type-icon.classification:before {
    content: ""; }
  .call-type-icon.completed:before {
    content: ""; }
  .call-type-icon.contact:before {
    content: ""; }
  .call-type-icon.contract:before {
    content: ""; }
  .call-type-icon.contract-type:before {
    content: ""; }
  .call-type-icon.created:before {
    content: ""; }
  .call-type-icon.deferred:before {
    content: ""; }
  .call-type-icon.escalation:before {
    content: ""; }
  .call-type-icon.impact:before {
    content: ""; }
  .call-type-icon.inbound-phone-call:before {
    content: ""; }
  .call-type-icon.information:before {
    content: ""; }
  .call-type-icon.link:before {
    content: ""; }
  .call-type-icon.outbound-phone-call:before {
    content: ""; }
  .call-type-icon.priority:before {
    content: ""; }
  .call-type-icon.responsiblity:before {
    content: ""; }
  .call-type-icon.shortcut-sent:before {
    content: ""; }
  .call-type-icon.sla-inclusion:before {
    content: ""; }
  .call-type-icon.status:before {
    content: ""; }
  .call-type-icon.undeferred:before {
    content: ""; }
  .call-type-icon.urgency:before {
    content: ""; }
  .call-type-icon.workflow:before {
    content: ""; }

.call-source-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block; }
  @media screen and (min-width: 112.5em) {
    .call-source-icon {
      margin: 0 auto; } }
  .call-source-icon:before {
    font-family: "Font Awesome Solid";
    font-size: 14px;
    color: #7a8e52; }
  .call-source-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-source-icon.demo:before {
      font-size: 26px; }
  .call-source-icon.user:before {
    content: ""; }
  .call-source-icon.portal:before {
    content: ""; }
  .call-source-icon.email:before {
    content: ""; }

.table-heading {
  margin: 10px 0; }

/*
----- Back to top ------ 
This is the button that appear at the bottom of the page that takes you back to the top of the viewport.
*/
.back-top-container {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 70px;
  z-index: 1500; }
  @media screen and (min-width: 112.5em) {
    .back-top-container {
      width: 50px;
      height: 60px;
      right: 30px;
      bottom: 90px; } }

.back-top-button {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .back-top-button:before {
    content: "";
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 10px;
    border: 2px solid #5F7B27;
    font-size: 17px;
    font-family: "Font Awesome Solid";
    line-height: 1;
    text-align: center;
    background: #f4f6ee;
    color: #5F7B27;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 112.5em) {
      .back-top-button:before {
        font-size: 22px; } }
  .back-top-button:hover, .back-top-button:hover.active {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
    .back-top-button:hover:before, .back-top-button:hover.active:before {
      background: #5F7B27;
      color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      border-color: #5F7B27;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #DB651B;
    color: #ffffff;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-top-button.active {
    opacity: .7; }

/*
----- Sections ----- 
Axis toggler is build on top of Foundation's Toggler https://get.foundation/sites/docs/toggler.html and is similar to https://get.foundation/sites/docs/accordion.html but sometimes it is not possible convenient to build the section(s) in <ul> or in desktop you require the layout to be completely different to mobile.
*/
.axis-section {
  margin: 0; }
  .axis-section.active .axis-section-header:after {
    content: ""; }
  .axis-section.active .axis-section-content {
    max-height: 80vh;
    margin: 20px 0 0;
    overflow-y: auto;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .axis-section.active .axis-section-buttons {
    display: block; }
  .axis-section.reveal-enabled:not(.active) {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    .axis-section.reveal-enabled:not(.active) .axis-section-header {
      margin-bottom: 0;
      padding-bottom: 0;
      -webkit-transition: margin-bottom 0.6s, padding-bottom 0.6s;
      transition: margin-bottom 0.6s, padding-bottom 0.6s; }
  .axis-section.disabled {
    background-color: var(--neutral-colour-lightness-7);
    opacity: .6;
    cursor: not-allowed; }
    .axis-section.disabled .axis-section-header {
      cursor: not-allowed; }
      .axis-section.disabled .axis-section-header:after {
        color: #6d6d6d; }

.axis-section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  cursor: pointer; }
  .axis-section-header:after {
    content: "";
    margin-left: auto;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #5F7B27;
    line-height: 14px; }

.axis-section-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 112.5em) {
    .axis-section-content {
      margin: 0; } }
  .axis-section-content p {
    margin: 0;
    font-size: 0.875rem; }
  .axis-section-content .cms-content-container {
    margin-bottom: 20px; }

.axis-section-buttons {
  display: none; }

/*

----- Ellipsis ----- 
When the content is too longer to fix within a table cell ( for example ) allow the user to show overflowing text by hovering.

IMPORTANT: This only works with single lines of text, multi-line you will need to look into --webkit-line-clamp.
*/
.ellipsis-text-container {
  position: relative; }

.ellipsis-text {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  @media screen and (min-width: 112.5em) {
    .ellipsis-text {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .ellipsis-text.ellipsis-active {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
    -webkit-mask-image: linear-gradient(to right, black 50%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
            mask-image: linear-gradient(to right, black 50%, transparent 100%); }
    @media screen and (min-width: 112.5em) {
      .ellipsis-text.ellipsis-active {
        max-width: 100%; }
        .ellipsis-text.ellipsis-active:hover {
          max-width: none;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-right: 10px;
          padding-left: 10px;
          background-color: #ffffff;
          text-overflow: inherit;
          overflow: visible;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          z-index: 1;
          -webkit-mask-image: none;
                  mask-image: none;
          opacity: 1; } }

/*
----- Blur ------ 
The effect that gets applied the header, main & footer when a modal or menu is open, essentially blur's out the content in the background when something is overlaying the page's main content.
*/
.blur {
  --defuse-animation: defuseBlur .3s forwards;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation: blur 0.6s;
          animation: blur 0.6s; }
  .blur.defuse {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-animation: defuseBlur 0.3s;
            animation: defuseBlur 0.3s; }

@-webkit-keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

@keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

#pageOverlay, .blur-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: transparent;
  opacity: 0.1; }

/*

---- Static ---- 
Dedicated specifically towards the landing page for the static landing page for express.

*/
@media screen and (min-width: 112.5em) {
  header {
    height: 200px; } }

.demo-link {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  background-color: #dadada;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .demo-link:hover {
    opacity: .6;
    -webkit-transition: opacity 0.6s, background-color 0.6s;
    transition: opacity 0.6s, background-color 0.6s; }
  .demo-link:active {
    background-color: #eeeeee; }
  .demo-link .site-logo {
    height: 180px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .demo-link .site-logo img {
      width: 100%; }

.site-container {
  margin-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    .site-container {
      margin-bottom: 20px; } }

.site-area-pages {
  padding: 20px 0 0; }
  .site-area-pages > ul > li:not(:last-child) {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eeeeee; }
  .site-area-pages ul {
    padding: 0;
    list-style: none; }

.page-variants-container > ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.page-variant {
  display: inline-block;
  margin: 5px 2.5px;
  background-color: #dadada; }
  .page-variant:first-child {
    margin-left: 0; }
  .page-variant a {
    display: block;
    padding: 10px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .page-variant a i {
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .page-variant a:hover {
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .page-variant a:hover i {
        color: #DB651B;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .page-variant a:active {
      background-color: #5F7B27; }
      .page-variant a:active i {
        color: #ffffff; }

.site-area-cell-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px; }
  @media screen and (min-width: 112.5em) {
    .site-area-cell-container {
      margin-bottom: 10px; } }

.site-area-container {
  width: 100%;
  padding: 5px;
  border: 1px solid #eeeeee; }
  @media screen and (min-width: 112.5em) {
    .site-area-container {
      padding: 12px; } }

#template-express-page-list > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    #template-express-page-list > ul {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  #template-express-page-list > ul > li {
    min-width: 100%;
    padding: 20px;
    border: 1px solid #eeeeee; }
    @media screen and (min-width: 112.5em) {
      #template-express-page-list > ul > li {
        min-width: 33%; } }

.modules-test-page-header {
  margin: 0 0 10px;
  padding: 30px;
  background-color: #eeeeee;
  border: 1px solid #484848; }

.row-background.grid-container .modules-control-panel.module-controls {
  top: 36px; }

@media screen and (min-width: 112.5em) {
  .grid-container .modules-control-panel.module-controls {
    top: 0; } }

.modules-control-panel {
  position: absolute;
  left: 0;
  display: block; }
  .modules-control-panel.row-controls {
    top: 0; }
  .modules-control-panel.module-controls {
    top: 50px; }

.modules-control-buttons {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.5;
  z-index: 2;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .modules-control-buttons:hover {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .modules-control-buttons .modules-control-button {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .modules-control-buttons .modules-control-button[aria-expanded=true] {
      background-color: #5F7B27;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .modules-control-buttons .modules-control-button[aria-expanded=true]:before {
        color: #ffffff;
        border-color: #ffffff;
        -webkit-transition: color 0.6s, border-color 0.6s;
        transition: color 0.6s, border-color 0.6s; }
    .modules-control-buttons .modules-control-button:before {
      display: block;
      padding: 5px 10px;
      color: #5F7B27;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #5F7B27; }
    .modules-control-buttons .modules-control-button.module-info:before {
      content: '\f129'; }

.modules-info-container {
  max-width: 100%;
  width: 320px;
  position: relative;
  z-index: 1000; }
  @media print, screen and (min-width: 40em) {
    .modules-info-container {
      width: 500px; } }
  .modules-info-container .modules-info-heading-container {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 2px solid #eeeeee; }
  .modules-info-container .general-information-panel {
    background-color: #eeeeee; }
  .modules-info-container .content {
    margin: 20px 0 0;
    padding: 20px;
    background-color: #ffffff;
    border: 2px solid #5F7B27; }
    .modules-info-container .content ul {
      list-style: none; }
      .modules-info-container .content ul li {
        font-size: 0.9375rem; }
    .modules-info-container .content > ul > li {
      margin: 5px 0;
      padding: 5px;
      border: 2px solid #eeeeee; }
    .modules-info-container .content ul {
      margin: 0;
      padding: 0; }
      .modules-info-container .content ul ul ul {
        margin-left: 10px; }
    .modules-info-container .content h4, .modules-info-container .content h5, .modules-info-container .content h6 {
      padding: 0;
      font-size: 0.9375rem;
      font-weight: 600; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      margin: 10px 0; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      color: #484848; }
    .modules-info-container .content h6 {
      margin: 5px 0;
      color: #5F7B27; }
    .modules-info-container .content strong {
      color: #5F7B27;
      padding-right: 10px; }
      .modules-info-container .content strong:after {
        content: ":";
        display: inline-block; }

/*

---- Stockist ---- 
Specifically for the stockish component: 
- Sorting area
- Search results 
- Interactive map

*/
.interactive-map-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 25px; }
  @media screen and (min-width: 112.5em) {
    .interactive-map-sorting-options {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .interactive-map-sorting-options .sorting-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 0; }
    @media screen and (min-width: 112.5em) {
      .interactive-map-sorting-options .sorting-option {
        width: auto; } }
    .interactive-map-sorting-options .sorting-option .label {
      width: 100%;
      margin-right: 20px;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
      @media screen and (min-width: 112.5em) {
        .interactive-map-sorting-options .sorting-option .label {
          width: auto; } }
  .interactive-map-sorting-options .control.search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .interactive-map-sorting-options .address-search-container input::-webkit-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-moz-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input:-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::placeholder {
    font-size: 0.875rem; }
  @media screen and (min-width: 112.5em) {
    .interactive-map-sorting-options .address-search-container input {
      width: 290px !important; } }
  @media screen and (min-width: 112.5em) {
    .interactive-map-sorting-options .product-filter-container {
      margin-left: auto; } }
  .interactive-map-sorting-options .product-filter-container .label:before {
    content: "";
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #93b64d; }
  .interactive-map-sorting-options .separator {
    margin: 7px 0 2px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .interactive-map-sorting-options .separator {
        margin: 0 25px; } }

.stockist-container {
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 112.5em) {
    .stockist-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .stockist-container.active {
    max-height: none;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 20px; }
    @media screen and (min-width: 112.5em) {
      .stockist-container.active {
        max-height: 80vh;
        min-height: 50vh;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; } }

.interactive-map-search-results-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 20px 15px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 112.5em) {
    .interactive-map-search-results-container {
      max-width: 420px;
      width: 100%;
      padding: 30px 40px; } }
  .interactive-map-search-results-container ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .interactive-map-search-results-container li {
    padding: 10px 0 15px;
    border-bottom: 1px solid #aeaeae; }
  .interactive-map-search-results-container .header-container {
    margin-bottom: 20px; }
    .interactive-map-search-results-container .header-container h2 {
      font-size: 1.34375rem; }
  .interactive-map-search-results-container .result-button-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  @media screen and (min-width: 112.5em) {
    .interactive-map-search-results-container .results-container {
      padding-right: 10px;
      overflow-y: auto; } }
  .interactive-map-search-results-container .results-container .description {
    font-size: 0.875rem;
    font-weight: 700;
    color: #484848; }
  .interactive-map-search-results-container .results-container .address {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .address + .telephone {
      margin-bottom: 10px; }
    .interactive-map-search-results-container .results-container .address + .result-button-container {
      margin-top: 10px; }
  .interactive-map-search-results-container .results-container .telephone {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .telephone a {
      padding-left: 5px; }

.website-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0 40px 0 0);
  padding: var(--common-button-padding, 5px 30px);
  color: #5F7B27;
  background-color: #f5f7ed;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .website-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 112.5em) {
    .website-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .website-button:hover, .website-button.hover {
      color: #ffffff;
      background-color: #5F7B27;
      border-color: #93b64d;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .website-button:hover .graduated-colour-edge .step, .website-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .website-button:active, .website-button.active {
    color: #ffffff;
    background-color: #DB651B;
    border-color: #DB651B;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .website-button:disabled, .website-button.disabled, .website-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: #6d6d6d; }
  .website-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .website-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.interactive-map-location-button {
  margin-left: auto;
  padding: 0 5px; }
  .interactive-map-location-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #8c8e8a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #DB651B;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #5F7B27; }

.interactive-map-container {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 112.5em) {
    .interactive-map-container {
      min-height: 200px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }

.interactive-map {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: 1px solid #dadada;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .interactive-map:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.organisation-container {
  font-weight: 700;
  font-size: 0.875rem;
  color: #484848; }

.interactive-map-no-results {
  width: 100%; }

.info-window-address-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600; }

.info-window-content-container .info-window-address, .info-window-content-container .telephone {
  font-size: 0.8125rem; }
  .info-window-content-container .info-window-address a, .info-window-content-container .telephone a {
    padding-left: 5px;
    font-size: 0.875rem; }

.info-window-content-container .info-window-button-container {
  margin-top: 10px; }

/*
----- Tree Menu -----

*/
.tree-menu input[type=checkbox] {
  visibility: hidden; }

.tree-menu ul {
  padding: 0;
  list-style: none; }
  .tree-menu ul li {
    position: relative; }
  .tree-menu ul li > .node-content-container {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .tree-menu ul label {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
    .tree-menu ul label:before {
      content: "";
      width: 25px;
      height: 25px;
      position: relative;
      float: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ffffff;
      border: 2px solid #ffffff;
      color: #5F7B27;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #5F7B27; }
  .tree-menu ul label.active:before {
    content: ""; }
  .tree-menu ul label.active ~ .node-content-container {
    height: 100%;
    -webkit-transition: max-height 0.6s, height 0.6s;
    transition: max-height 0.6s, height 0.6s; }

.tree-menu > ul {
  margin: 0;
  padding: 0; }
  .tree-menu > ul > li > label {
    padding: 10px 0 10px 6.66px;
    border-bottom: 2px solid #ffffff; }
    @media screen and (min-width: 112.5em) {
      .tree-menu > ul > li > label {
        padding: 10px 0 10px 20px; } }
    .tree-menu > ul > li > label .label {
      font-size: 1.25rem;
      color: #ffffff; }
  .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
    padding-right: 10px;
    padding-left: 15px;
    border-bottom: 20px solid #ffffff; }
    @media screen and (min-width: 112.5em) {
      .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
        padding-left: 30px; } }
  .tree-menu > ul > li > .node-content-container > ul:not(:last-child) {
    border-bottom: 2px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul:last-child {
    border-bottom: 20px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul > li {
    padding: 0 5px; }
    .tree-menu > ul > li > .node-content-container > ul > li:not(:last-child) {
      border-bottom: 2px solid #ffffff; }
    .tree-menu > ul > li > .node-content-container > ul > li label .label {
      font-size: 1.125rem; }
    @media screen and (min-width: 112.5em) {
      .tree-menu > ul > li > .node-content-container > ul > li {
        padding: 10px 0 10px 70px; } }
    .tree-menu > ul > li > .node-content-container > ul > li.active:after {
      top: 22.5px;
      left: 16.5px; }
      @media screen and (min-width: 112.5em) {
        .tree-menu > ul > li > .node-content-container > ul > li.active:after {
          top: 32.5px;
          left: 81.5px; } }
    .tree-menu > ul > li > .node-content-container > ul > li > .node-content-container .tree-additional-information-container:before {
      left: 11.5px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:not(:last-child):before {
      height: 30px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
      height: 17px; }
      @media screen and (min-width: 112.5em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
          height: 18px; } }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
      padding: 0 0 0 25px; }
      @media screen and (min-width: 112.5em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
          padding: 0 0 0 45px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:before {
        content: "";
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 11.5px;
        display: block;
        background-color: #ffffff; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
        top: 22.5px;
        left: 36.5px; }
        @media screen and (min-width: 112.5em) {
          .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
            top: 32.5px;
            left: 56.5px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li.active:not(:last-child):before {
        height: 100%; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li label .label {
        font-style: italic;
        font-size: 1rem; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li > .tree-additional-information-container:before {
        left: -33.5px; }
  .tree-menu > ul > li > .node-content-container > ul .tree-menu-parent.active:after {
    content: "";
    width: 2px;
    height: 18px;
    position: absolute;
    display: block;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-menu-parent > .node-content-container > .tree-additional-information-container:before {
    content: '';
    width: 2px;
    height: calc(100% + 25px);
    position: absolute;
    top: -25px;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-additional-information-container {
    position: relative;
    padding-right: 10px;
    padding-left: 25px; }
    @media screen and (min-width: 112.5em) {
      .tree-menu > ul ul .tree-additional-information-container {
        padding-right: 0;
        padding-left: 45px; } }
  .tree-menu > ul ul ul li label:after {
    content: '';
    width: 32.5px;
    height: 2px;
    position: absolute;
    top: 15.5px;
    left: 12.5px;
    display: block;
    background-color: #ffffff; }

.tree-menu.assets {
  margin-bottom: 50px; }
  .tree-menu.assets > ul {
    background-color: #f4f6ee; }
    .tree-menu.assets > ul > li > label {
      background-color: #7a8e52; }

.tree-menu .attachments-container ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.tree-menu .attachments-container .attachment {
  padding: 0; }
  .tree-menu .attachments-container .attachment:before {
    width: 30px;
    margin: 0;
    font-size: 20px; }

.tree-menu .alert-node > label:before {
  background-color: #b20c0c;
  color: #ffffff; }

.tree-menu .alert-node .node-content-container > .alert-container .tree-additional-information-background {
  border-color: #b20c0c; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value, .tree-menu .alert-node .node-content-container > .alert-container .alert-value .label {
  color: #b20c0c;
  font-size: 1rem;
  font-weight: 700; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value {
  position: relative; }
  .tree-menu .alert-node .node-content-container > .alert-container .alert-value .value:before {
    content: "";
    width: 30px;
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #b20c0c;
    font-size: 20px; }

.tree-additional-information-container {
  max-width: 700px;
  padding: 10px 0; }
  .tree-additional-information-container .additional-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tree-additional-information-container .additional-information:not(:first-of-type):not(:last-of-type) {
      margin: 10px 0; }
    .tree-additional-information-container .additional-information:first-of-type {
      margin-bottom: 10px; }
    .tree-additional-information-container .additional-information:last-of-type {
      margin-top: 10px; }
    @media screen and (min-width: 112.5em) {
      .tree-additional-information-container .additional-information {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .tree-additional-information-container .additional-information span {
      font-size: 0.875rem; }
  .tree-additional-information-container .label {
    max-width: 225px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.tree-additional-information-background {
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media screen and (min-width: 112.5em) {
    .tree-additional-information-background {
      padding: 30px 22px; } }

.tree-menu-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 0 20px; }
  @media screen and (min-width: 112.5em) {
    .tree-menu-header {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 112.5em) {
    .tree-menu-header .tree-menu-controls {
      margin-right: 0;
      margin-left: auto; } }
  .tree-menu-header .tree-menu-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 0; }
    @media screen and (min-width: 112.5em) {
      .tree-menu-header .tree-menu-information {
        padding: 0; } }
  .tree-menu-header .tree-information {
    position: relative;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #5F7B27; }
    .tree-menu-header .tree-information.alert {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer; }
      .tree-menu-header .tree-information.alert:before {
        content: '';
        width: 10px;
        height: 10px;
        display: inline-block;
        margin: 0 10px 0 5px;
        background-color: #b20c0c;
        border-radius: 25px; }

.tree-menu-expand-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: .8125rem;
  font-weight: 700;
  color: #5F7B27; }
  .tree-menu-expand-toggle:after {
    content: "";
    width: 18px;
    height: 18px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
    border-radius: 25px;
    border: 2px solid #5F7B27;
    background-color: #ffffff;
    color: #5F7B27;
    font-family: "Font Awesome Solid";
    font-size: 8px; }
  .tree-menu-expand-toggle.active:after {
    content: ""; }

/*
----- Reviews ----- 
- Handles interfacing with third-party review api's like feefo.
*/
.rating-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .rating-container .review-stars {
    margin: 0 10px 0; }
    .rating-container .review-stars li:not(:last-child) {
      margin-right: 5px; }
  .rating-container .star-full, .rating-container [class*=rating-icon] {
    position: relative;
    padding-left: 0; }
    .rating-container .star-full:before, .rating-container [class*=rating-icon]:before {
      content: "";
      font-family: "Font Awesome Solid";
      color: #e5b701; }

@media screen and (min-width: 112.5em) {
  .product-reviews-container {
    padding: 0 15px; } }

.product-reviews-container ul {
  padding: 0;
  list-style: none; }
  .product-reviews-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 15px 0;
    border-bottom: 1px solid #dadada; }

.product-reviews-container .review-details-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.product-reviews-container .display-name-container {
  color: #484848;
  font-weight: 600;
  font-size: 0.875rem; }
  .product-reviews-container .display-name-container + .last-updated-container:before {
    content: '-';
    margin: 0 5px;
    line-height: 1.5; }

.product-reviews-container .display-location-container {
  width: 100%;
  display: block;
  font-size: 0.875rem; }

.product-reviews-container .last-updated-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #959595;
  font-size: 0.875rem; }

.product-reviews-container .list-count-container {
  color: #959595; }
  .product-reviews-container .list-count-container .current-showing-count {
    color: #484848; }

.product-reviews-container .reviews-container {
  margin-bottom: 10px; }

.product-reviews-container .reviews-pager-container + .reviews-product-footer {
  border-top: 1px solid #dadada; }

.product-reviews-container .reviews-product-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 10px; }
  @media screen and (min-width: 112.5em) {
    .product-reviews-container .reviews-product-footer {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .product-reviews-container .reviews-product-footer .service-provider-logo {
    display: block;
    margin: 20px 0;
    background-repeat: no-repeat;
    background-size: contain; }
  .product-reviews-container .reviews-product-footer .feefo-logo {
    width: 100px;
    height: 25px;
    background-image: url("/template/content/development/images/icons/feefo-logo.png"); }
  @media screen and (min-width: 112.5em) {
    .product-reviews-container .reviews-product-footer .reviews-product-review-all-container {
      margin-left: auto; } }

.review-social-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .review-social-container .helpful-votes-container + .reveal-social-icons-container {
    margin-left: 10px; }

.helpful-votes-container {
  font-size: 0.875rem;
  color: #959595; }
  .helpful-votes-container .helpful-votes-display:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid";
    font-size: 11px; }

/*
----- Page Section Colours -----
The purpose of this is is to add background-colours to specific sections on specific pages across express using the body id, so a potential config could look like this:

header-usp-bar: (
    background-colour: $colour3-1,
    pages: ("homepage")
)

The top level map key is the class of the element that you want to effect then inside of that is the configuration i.e background colour + which pages to apply this to which is a list of body id's.
*/
/*

---- Star Ratings ---- 
Handles star ratings for products, this supports persentage based rating, here is an overview of what this would look like https://codepen.io/filcp/pen/QvZVOg .

*/
.star-ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .star-ratings-container [class*=rating-icon-]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 17px; }
  .star-ratings-container .background-stars {
    position: relative; }
    .star-ratings-container .background-stars [class*=rating-icon-]:before {
      color: #dadada; }
  .star-ratings-container .foreground-stars {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden; }
    .star-ratings-container .foreground-stars [class*=rating-icon-]:before {
      color: #e5b701; }
  .star-ratings-container .rating-summary-display {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: #5F7B27;
    font-size: 0.9375rem; }

.rating-breakdown-list-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  .rating-breakdown-list-container .breakdown-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0; }
  .rating-breakdown-list-container .breakdown-stars-container {
    width: 80px; }
    .rating-breakdown-list-container .breakdown-stars-container [class*=rating-icon-]:before {
      color: #e5b701;
      font-size: 13px; }
  .rating-breakdown-list-container .breakdown-percentage-bar-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.breakdown-percentage-bar-container {
  margin: 0 10px; }
  .breakdown-percentage-bar-container .percentage-bar {
    width: 100%;
    height: 10px;
    display: block; }
  .breakdown-percentage-bar-container .background-bar {
    position: relative; }
    .breakdown-percentage-bar-container .background-bar .percentage-bar {
      background-color: #dadada; }
  .breakdown-percentage-bar-container .foreground-bar {
    position: absolute;
    top: 0;
    left: 0; }
    .breakdown-percentage-bar-container .foreground-bar .percentage-bar {
      background-color: #e5b701; }

.breakdown-count-container {
  width: 30px; }

.tooltip-content-container .breakdown-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0 0; }
  .tooltip-content-container .breakdown-button-container a {
    color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #DB651B; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #5F7B27; }

/*
----- Barcode Scanner ------ 

*/
.barcode-scanner-toggle-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 112.5em) {
    .barcode-scanner-toggle-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .barcode-scanner-toggle-button:hover, .barcode-scanner-toggle-button.hover {
      color: #ffffff;
      background-color: #DB651B;
      border-color: #DB651B;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .barcode-scanner-toggle-button:hover:after, .barcode-scanner-toggle-button.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .barcode-scanner-toggle-button:hover .graduated-colour-edge .step, .barcode-scanner-toggle-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .barcode-scanner-toggle-button:active, .barcode-scanner-toggle-button.active {
    color: #ffffff;
    background-color: #5F7B27;
    border-color: #5F7B27;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .barcode-scanner-toggle-button:active:after, .barcode-scanner-toggle-button.active:after {
      color: #ffffff; }
  .barcode-scanner-toggle-button:disabled, .barcode-scanner-toggle-button.disabled, .barcode-scanner-toggle-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .barcode-scanner-toggle-button:disabled:after, .barcode-scanner-toggle-button.disabled:after, .barcode-scanner-toggle-button[disabled]:after {
      color: #6d6d6d; }
  .barcode-scanner-toggle-button:disabled:hover, .barcode-scanner-toggle-button.disabled:hover {
    border-color: #6d6d6d; }
  .barcode-scanner-toggle-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .barcode-scanner-toggle-button:after {
    content: "";
    margin: 0 0 0 15px;
    font-family: "fontello";
    font-size: 20px;
    font-weight: 400;
    color: #5F7B27;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .barcode-scanner-toggle-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.barcode-scanner-toggle-button-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .barcode-scanner-toggle-button-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.barcode-scanner {
  position: relative; }
  .barcode-scanner video {
    max-width: 100%; }
  .barcode-scanner canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .barcode-scanner.is-inactive {
    display: none; }

.scanner-camera-selector-container {
  max-width: 490px;
  margin: 0 auto 30px; }
  @media screen and (min-width: 112.5em) {
    .scanner-camera-selector-container {
      margin: 0 auto 20px; } }
  .scanner-camera-selector-container .label {
    width: 100%;
    margin: 0 0 10px 0;
    color: #5F7B27;
    font-weight: 600; }
    @media print, screen and (min-width: 40em) {
      .scanner-camera-selector-container .label {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 20px 0 0; } }
  .scanner-camera-selector-container .control.select .control-select-container {
    width: calc(100% - 41px); }
    @media screen and (min-width: 112.5em) {
      .scanner-camera-selector-container .control.select .control-select-container {
        width: 330px; } }
  .scanner-camera-selector-container .tooltip-container {
    margin-left: 15px; }

.barcode-scanner-response-container {
  margin: 0; }

/*
----- Page Background Image -----
The purpose of this is is to add background image(s) to specific page types using the body id, possible configuration:

homepage: (
    background-image => [ REQUIRED ] The url of the image.
    repeat-background => [ OPTIONAL ] This defaults to no-repeat.
    background-scale => [ OPTIONAL ] This defaults to cover.
    background-attachments => [ OPTIONAL ]
    background-position => [ OPTIONAL ]
)

*/
/*
----- Tags -----
Used to display a catagorisation of groups / keywords, this ia primarily used in the cms system currently for diplsay news, blogs & event's articles.
*/
.tagging-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .tagging-container.align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .tagging-container.listing .tagging-heading {
    margin: 0;
    font-size: 0.9375rem; }
  .tagging-container .tags-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px; }
    @media screen and (min-width: 112.5em) {
      .tagging-container .tags-container {
        gap: 5px 10px; } }
  .tagging-container .tagging-header-container {
    margin: 5px 0 10px; }
  .tagging-container .tagging-heading {
    margin: 0;
    font-size: 1.25rem;
    color: #5F7B27; }
  .tagging-container .tag-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 8px 18px;
    border: 1px solid #aeaeae;
    border-radius: 0;
    color: #5F7B27;
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .tagging-container .tag-item:hover {
      color: #DB651B;
      border-color: transparent;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    .tagging-container .tag-item:active {
      color: #484848; }
    .tagging-container .tag-item:first-child {
      margin-left: 0; }
    .tagging-container .tag-item:last-child {
      margin-right: 0; }
    .tagging-container .tag-item.remove-button:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 14px;
      color: #5F7B27;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .tagging-container .tag-item.remove-button:active:after {
      color: #484848; }

/*
----- Axis Toggler -----
Build ontop of Foundations toggler https://get.foundation/sites/docs/toggler.html, we needed to add in some additional functionality to allow for re-toggling if the user clicks outside of the content area.
*/
.toggle-content-container.active .toggle-background {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: -1; }

/*
----- Page Background Colours -----
Similar to axis-section-colours a custom config is provide which gets looped through assigning the background-color property to the relievent pages.

NOTICE: Had to set the !important flag on the background-color property due to foundation enforing that the body background colour must be set.
*/
/*
----- Multi Field Lookup -----

Provides an area to place options ( i.e a form in a horizontal layout ) which then gets filled in to update multiple points on the page.

*/
.multi-field-lookup.quick-order .multi-field-options-container {
  background-color: #7a8e52;
  padding: 15px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 8%; } }
  @media screen and (min-width: 112.5em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 110px; } }

@media screen and (min-width: 112.5em) {
  .multi-field-lookup.quick-order .lookup-search-container {
    max-width: 500px; } }

@media screen and (min-width: 112.5em) {
  .multi-field-lookup.quick-order .add-to-basket-container {
    max-width: 200px;
    width: 100%; } }

.multi-field-lookup.quick-order .barcode-scanner-trigger-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      width: 33%; } }
  @media screen and (min-width: 112.5em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      max-width: 190px;
      width: auto; } }

@media screen and (min-width: 112.5em) {
  .multi-field-lookup.quick-order .lookup-quantity-selector-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number {
  border-radius: 0; }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-decrement, .multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-increment {
  background: #ffffff; }

.input-number-decrement, .input-number-increment {
  border-color: #c8c8c8; }

.multi-field-lookup.quick-order .control.search .input-prefix-icon {
  padding-right: 10px;
  padding-left: 10px; }
  .multi-field-lookup.quick-order .control.search .input-prefix-icon:before {
    content: "+";
    font-size: 22px;
    font-family: "Font Awesome Solid"; }

.input-prefix-icon:before {
  color: #5F7B27; }

.multi-field-lookup .multi-field-options-container {
  margin: 10px 0; }
  @media screen and (min-width: 112.5em) {
    .multi-field-lookup .multi-field-options-container {
      margin: 20px 0 10px; } }
  .multi-field-lookup .multi-field-options-container form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px; }
    @media print, screen and (min-width: 40em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 25px; } }
    @media screen and (min-width: 112.5em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 20px; } }
    .multi-field-lookup .multi-field-options-container form .lookup-option.lookup-search-container {
      width: 100%; }

.multi-field-lookup .lookup-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 112.49875em) {
    .multi-field-lookup .lookup-option.add-to-basket-container {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .multi-field-lookup .lookup-option button {
    height: 45px; }
  .multi-field-lookup .lookup-option .control {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .multi-field-lookup .lookup-option .control .control-select-dropdown {
      width: 100%; }
    .multi-field-lookup .lookup-option .control .form-error {
      width: 100%;
      padding-left: 0; }
    @media screen and (min-width: 112.5em) {
      .multi-field-lookup .lookup-option .control .control-select-container {
        min-width: unset; } }
  .multi-field-lookup .lookup-option .quantity-selector-container {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }

.multi-field-lookup .multi-field-response-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1; }

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat); }

.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2); }

.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3); }

.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay); }

.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2); }

.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3); }

.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4); }

.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5); }

.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2); }

.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8); }

.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2); }

.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3); }

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important; }
  .animate__animated[class*='Out'] {
    opacity: 0; } }

/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX; }

@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown; }

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft; }

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight; }

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp; }

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown; }

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft; }

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight; }

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp; }

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft; }

@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight; }

@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft; }

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight; }

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft; }

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight; }

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight; }

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft; }

/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*

----- Axis Element Print ----- 
Allows you to select an element to be printed inside of the DOM.

This deals with general formatting of text when in print view and which element should be excluded as it doesn't make sense for them to be there.

*/
@media print {
  .pe-no-print {
    display: none !important; }
  .pe-preserve-ancestor {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  [data-axis-sticky], [data-sticky-content-container] {
    display: none; }
  .enquiry-filters {
    display: none; }
  .call-type-icon, .call-source-icon {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .enquiry-header-section h2 {
    color: #000000 !important; }
  .axis-section-header:after {
    color: #000000 !important; }
  table .col-label {
    color: #000000 !important;
    display: inline-block !important; }
  table tr {
    margin: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    border-bottom: 2px solid #aeaeae !important; }
  table td {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .page-buttons-container, .account-buttons-container {
    display: none; }
  h1, h2, h3, h4, h5, h6 {
    color: #000000 !important; }
  .cms-content-container {
    max-height: none !important;
    overflow-y: visible !important; }
  .modal-container .content, .modal-container .content-container {
    overflow-y: visible !important;
    overflow: visible !important; }
  .modal-container {
    position: absolute !important;
    overflow: visible !important; }
    .modal-container.active {
      overflow-y: unset !important; } }

/*
----- Documentation ------ 
Specifically handles the styling for AXIS Documentation, there will be similarities between this code and cms containers.

This deals with the following page types:
-- Products
---- Books
------ Chapters
-------- Articles
-------- Functions
---------- Article
*/
.documentation-controls-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px; }
  @media screen and (min-width: 112.5em) {
    .documentation-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      gap: 0; } }
  .documentation-controls-container .documentation-search-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 10px;
    background-color: #dadada;
    border-radius: 0; }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-search-container {
        padding: 5px; } }
    .documentation-controls-container .documentation-search-container form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 5px; }
      @media screen and (min-width: 112.5em) {
        .documentation-controls-container .documentation-search-container form {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .documentation-controls-container .documentation-search-container form .label {
        width: 100%;
        padding: 0 0 10px;
        color: #484848;
        font-size: 0.875rem;
        font-weight: 700; }
        @media screen and (min-width: 112.5em) {
          .documentation-controls-container .documentation-search-container form .label {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            padding: 0 20px 0 10px; } }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-search-container .search-zone {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-search-container .search-zone .control-select-container {
        max-width: 400px;
        min-width: 205px;
        width: 100%; } }
    .documentation-controls-container .documentation-search-container .search-zone .selected-description {
      color: #000000; }
    .documentation-controls-container .documentation-search-container .documentation-search {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 112.5em) {
        .documentation-controls-container .documentation-search-container .documentation-search {
          min-width: 420px; } }
      .documentation-controls-container .documentation-search-container .documentation-search .form-error {
        padding-left: 10px;
        text-align: left; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-webkit-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-moz-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input:-ms-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-ms-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::placeholder {
        color: #484848;
        font-size: 0.875rem; }
  @media screen and (min-width: 112.5em) {
    .documentation-controls-container .documentation-access-level-container {
      max-width: 575px;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  .documentation-controls-container .documentation-access-level-container form label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-access-level-container form label {
        max-width: 575px;
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .documentation-controls-container .documentation-access-level-container form .label {
    padding: 0 0 10px;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-access-level-container form .label {
        padding: 0 10px 0 0; } }
  .documentation-controls-container .documentation-access-level-container form .control-select-container {
    width: 100%; }
    @media screen and (min-width: 112.5em) {
      .documentation-controls-container .documentation-access-level-container form .control-select-container {
        max-width: 420px; } }

.documentation-list-item-container.department-colour-palette .documentation-content-header-container h2, .documentation-list-item-container.site-style .documentation-content-header-container h2 {
  color: var(--primary-colour-lightness-0, #5F7B27); }

.documentation-list-content-container + .documentation-list-content-container {
  margin-top: 20px; }

.documentation-list-content-container ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-list-content-container ul.stripes > li:nth-child(odd) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li:nth-child(even) {
    background-color: #ffffff; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(even) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(odd) {
    background-color: #ffffff; }
  .documentation-list-content-container ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0 5px;
    padding: 7px 5px; }
    @media print, screen and (min-width: 40em) {
      .documentation-list-content-container ul li .context-menu-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 5px 0; } }
    .documentation-list-content-container ul li .tooltip-container {
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .documentation-list-content-container ul a {
    color: #484848;
    font-weight: 500;
    font-size: 1.0625rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .documentation-list-content-container ul a:hover {
      color: var(--primary-colour-lightness-0, #DB651B);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.documentation-list-content-container .index {
  display: inline-block;
  margin: 0 10px 0 0;
  text-align: left; }

.documentation-article-intro-container, .documentation-intro-container {
  --component-specifc-step-height: 56px;
  position: relative;
  overflow: hidden; }
  .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
    margin: 35px 0 45px; }
    @media screen and (min-width: 112.5em) {
      .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
        margin: 45px 0 55px; } }
    .documentation-article-intro-container.layout-1 h2, .documentation-intro-container.layout-1 h2 {
      margin: 0 0 30px;
      padding: 0 0 20px;
      color: var(--primary-colour-lightness-0, #5F7B27);
      text-align: center;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      position: relative; }
      .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
        content: '';
        width: 50px;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        margin: auto;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: #959595; }
        @media print {
          .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
            border-bottom: 2px solid #959595;
            background-color: transparent; } }
    .documentation-article-intro-container.layout-1 h1, .documentation-intro-container.layout-1 h1 {
      margin: 0;
      color: #484848;
      font-size: 2.25rem;
      font-weight: 600;
      text-align: center; }
  .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 20px 0 30px;
    padding: 25px 20px;
    background-color: var(--primary-colour-lightness-9); }
    @media screen and (min-width: 112.5em) {
      .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 80px;
        margin: 30px 0 40px;
        padding: 20px; } }
    .documentation-article-intro-container.layout-2 h1, .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h2 {
      text-align: left; }
    .documentation-article-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h1 {
      margin: 0;
      color: #484848;
      font-size: 1.875rem;
      font-weight: 600; }
    .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h2 {
      margin: 0 0 5px;
      color: var(--primary-colour-lightness-0, #5F7B27);
      font-size: 0.9375rem;
      text-transform: uppercase;
      letter-spacing: 3px; }
    .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 112.5em) {
        .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
          margin: 0 0 0 20px; } }
    .documentation-article-intro-container.layout-2 .banner-container .image, .documentation-intro-container.layout-2 .banner-container .image {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border: 2px solid #ffffff; }
      @media screen and (min-width: 112.5em) {
        .documentation-article-intro-container.layout-2 .banner-container .image img, .documentation-intro-container.layout-2 .banner-container .image img {
          width: 245px; } }

.documentation-additional-links ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5px 25px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-additional-links ul li {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none; }

.documentation-additional-links .attachment {
  padding: 0;
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 600; }
  .documentation-additional-links .attachment:before {
    margin-right: 10px;
    font-size: 0.8125rem;
    color: #93b64d;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #DB651B; }
    .documentation-additional-links .attachment:hover:before {
      color: #DB651B;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #5F7B27; }
    .documentation-additional-links .attachment:active:before {
      color: #5F7B27; }
  .documentation-additional-links .attachment.printer-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-public-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-statistics:before {
    content: "";
    font-family: "Font Awesome Solid"; }

.documentation-chapter-header-container h1, .documentation-acticle-header-container h1, .documentation-content-container h1, .documentation-content-header-container h1 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  color: #5F7B27;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }
  .documentation-chapter-header-container h1 + .documentation-additional-links, .documentation-acticle-header-container h1 + .documentation-additional-links, .documentation-content-container h1 + .documentation-additional-links, .documentation-content-header-container h1 + .documentation-additional-links {
    padding: 0;
    border: 0; }

.documentation-chapter-header-container h2, .documentation-acticle-header-container h2, .documentation-content-container h2, .documentation-content-header-container h2 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
  margin: 25px 0 10px;
  padding: 10px 0;
  color: #5F7B27;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 112.5em) {
    .documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
      padding: 10px 0; } }
  .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h4, .documentation-acticle-header-container h4, .documentation-content-container h4, .documentation-content-header-container h4 {
  margin: 25px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h5, .documentation-acticle-header-container h5, .documentation-content-container h5, .documentation-content-header-container h5 {
  margin: 15px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h6, .documentation-acticle-header-container h6, .documentation-content-container h6, .documentation-content-header-container h6 {
  margin: 15px 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic; }

.documentation-article-container, .documentation-list-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 35px; }
  .documentation-article-container.indented, .documentation-list-item-container.indented {
    margin-left: 25px; }
  .documentation-article-container.indented-rule, .documentation-list-item-container.indented-rule {
    position: relative;
    margin-bottom: 50px;
    padding-left: 15px; }
    .documentation-article-container.indented-rule:before, .documentation-list-item-container.indented-rule:before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #aeaeae; }

.documentation-chapter-header-container, .documentation-header-container {
  margin-bottom: 35px; }
  .documentation-chapter-header-container .documentation-additional-links, .documentation-header-container .documentation-additional-links {
    padding-top: 25px;
    border-top: 1px solid #959595; }

.documentation-chapter-footer-container, .documentation-footer-container {
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 1px solid #959595; }

.documentation-acticle-header-container, .documentation-content-header-container {
  position: relative; }

.documentation-content-container a[href^="tel:"], .documentation-content-container a[href^="mailto:"] {
  font-weight: 700; }
  .documentation-content-container a[href^="tel:"]:hover, .documentation-content-container a[href^="mailto:"]:hover {
    text-decoration: none; }
  .documentation-content-container a[href^="tel:"].show-contact-icon:before, .documentation-content-container a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.documentation-content-container a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.documentation-content-container a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.documentation-content-container p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.documentation-content-container p a:has([style*="float"]) {
  display: inline; }

.documentation-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .documentation-content-container p img[style*="float:left"], .documentation-content-container p img[style*="float: left"], .documentation-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .documentation-content-container p img[style*="float:right"], .documentation-content-container p img[style*="float: right"], .documentation-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .documentation-content-container p img {
    margin: .2em 0; }
  .documentation-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.documentation-content-container p:not(:empty) + table, .documentation-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.documentation-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .documentation-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .documentation-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .documentation-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .documentation-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 112.5em) {
      .documentation-content-container table.responsive-table {
        display: table; } }
    .documentation-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 112.5em) {
        .documentation-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 112.5em) {
        .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .documentation-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 112.5em) {
    .documentation-content-container table td {
      padding: 10px; } }
  .documentation-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 112.5em) {
      .documentation-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .documentation-content-container table tbody {
    background-color: transparent; }
    .documentation-content-container table tbody th {
      background-color: transparent; }
    .documentation-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 112.5em) {
      .documentation-content-container table tbody tr {
        display: table-row; } }
  .documentation-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 112.49875em) {
    .documentation-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 112.49875em) {
    .documentation-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .documentation-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .documentation-content-container table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.documentation-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 112.5em) {
    .documentation-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .documentation-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .documentation-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-content-container blockquote:has(img) {
    text-align: left; }
  .documentation-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 112.5em) {
    .documentation-content-container blockquote {
      padding: 50px 60px; } }
  .documentation-content-container blockquote + blockquote {
    margin-top: 15px; }
  .documentation-content-container blockquote:before, .documentation-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-content-container blockquote:before {
    top: 0;
    left: 0; }
  .documentation-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .documentation-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 112.5em) {
      .documentation-content-container blockquote img {
        text-align: left; } }

.documentation-content-container iframe[src*="https://www.youtube.com/"] {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: 0; }

.documentation-content-container code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .documentation-content-container code {
      padding: 10px 35px; } }
  .documentation-content-container code:hover {
    border-color: #484848;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .documentation-content-container code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .documentation-content-container code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .documentation-content-container code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .documentation-content-container code .code-copy-button:hover {
      background-color: #5F7B27;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .documentation-content-container code .code-copy-button.active, .documentation-content-container code .code-copy-button:active {
      background-color: #5F7B27; }
      .documentation-content-container code .code-copy-button.active:before, .documentation-content-container code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .documentation-content-container code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .documentation-content-container code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

.documentation-content-container ul, .documentation-content-container ol {
  text-align: left; }

.documentation-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .documentation-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .documentation-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .documentation-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #5F7B27;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .documentation-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .documentation-content-container ol ol ol {
      list-style-type: lower-roman; }
      .documentation-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .documentation-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.documentation-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

.documentation-content-container ul + h1, .documentation-content-container ol + h1 {
  margin-top: 20px; }

.documentation-content-container ul + h2, .documentation-content-container ol + h2 {
  margin-top: 20px; }

.documentation-content-container ul + h3, .documentation-content-container ol + h3 {
  margin-top: 10px; }

.documentation-content-container ul + h4, .documentation-content-container ol + h4 {
  margin-top: 10px; }

.documentation-content-container ul + h5, .documentation-content-container ol + h5 {
  margin-top: 10px; }

.documentation-content-container ul + h6, .documentation-content-container ol + h6 {
  margin-top: 15px; }

.documentation-content-container dl {
  text-align: left; }

.documentation-content-container figure {
  max-width: 100%;
  margin: 10px auto; }
  .documentation-content-container figure.image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    margin: 10px auto; }
  .documentation-content-container figure.image-style-align-right {
    float: right;
    margin-left: 10px; }
  .documentation-content-container figure.image-style-align-left {
    float: left;
    margin-right: 10px; }
  .documentation-content-container figure.image-style-block-align-left {
    margin-right: auto;
    margin-left: 0; }
  .documentation-content-container figure.image-style-block-align-right {
    margin-right: 0;
    margin-left: auto; }
  .documentation-content-container figure[class*="image-style-block"] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure figcaption {
    width: 100%;
    padding: 5px;
    background-color: var(--neutral-colour-lightness-10);
    color: #000000;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 112.5em) {
  .documentation-content-container {
    max-width: 850px;
    width: 100%; } }

.documentation-restricted-access-container h1, .documentation-restricted-access-container h2, .documentation-restricted-access-container h3, .documentation-restricted-access-container h4, .documentation-restricted-access-container h5, .documentation-restricted-access-container h6, .documentation-restricted-access-container p, .documentation-restricted-access-container li, .documentation-restricted-access-container.documentation-internal-use-only, .documentation-restricted-access-container a, .documentation-restricted-access-container table thead th, .documentation-restricted-access-container table tbody td, .documentation-internal-use-only h1, .documentation-internal-use-only h2, .documentation-internal-use-only h3, .documentation-internal-use-only h4, .documentation-internal-use-only h5, .documentation-internal-use-only h6, .documentation-internal-use-only p, .documentation-internal-use-only li, .documentation-internal-use-only.documentation-internal-use-only, .documentation-internal-use-only a, .documentation-internal-use-only table thead th, .documentation-internal-use-only table tbody td {
  color: var(--accent-colour-1-lightness-0); }

.documentation-not-published {
  font-style: italic; }

ul.functions-list:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

ul.functions-list:has(> li.has-submenu-toggle) ul.menu:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

.menu.functions-list {
  --menu-function-list-hover-colour: var(--primary-colour-lightness-0);
  width: 100%; }
  .menu.functions-list > li > ul.submenu {
    padding: 5px;
    background-color: transparent; }
    @media screen and (min-width: 112.5em) {
      .menu.functions-list > li > ul.submenu {
        padding: 5px 0 5px 10px; } }
  .menu.functions-list > li:has(ul.submenu.is-active) {
    border-bottom: 5px solid #ffffff; }
  .menu.functions-list li:has(ul.submenu.is-active) {
    background-color: #f3f3f3; }
    .menu.functions-list li:has(ul.submenu.is-active) > a {
      font-weight: 600;
      color: var(--menu-function-list-hover-colour, #DB651B);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .menu.functions-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    border-bottom: 0; }
    @media screen and (min-width: 112.5em) {
      .menu.functions-list li {
        padding-right: 0; } }
    .menu.functions-list li:hover {
      background-color: transparent; }
      .menu.functions-list li:hover > a, .menu.functions-list li:hover > button:after {
        color: var(--menu-function-list-hover-colour, #DB651B); }
    .menu.functions-list li > a {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-right: 0;
      padding: 5px 5px 5px 0;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      .menu.functions-list li > a + button {
        height: auto;
        position: relative;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        .menu.functions-list li > a + button:after {
          color: #484848;
          font-size: 12px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu.functions-list li > a + button[aria-expanded="true"]:after {
          color: var(--menu-function-list-hover-colour, #DB651B);
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .menu.functions-list li > ul {
      width: 100%;
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3;
      border-top: 0;
      background-color: transparent; }
      @media print, screen and (max-width: 112.49875em) {
        .menu.functions-list li > ul li {
          padding: 0; } }
      .menu.functions-list li > ul li a {
        font-weight: 400;
        color: #484848; }
        @media screen and (min-width: 112.5em) {
          .menu.functions-list li > ul li a {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      .menu.functions-list li > ul .index {
        font-style: italic; }
    .menu.functions-list li .nested.is-accordion-submenu {
      margin-left: 0; }
      @media screen and (min-width: 112.5em) {
        .menu.functions-list li .nested.is-accordion-submenu {
          margin-left: 40px; } }
    .menu.functions-list li .link-description {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }

.documentation-results-found-list ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.documentation-results-found-list ul li {
  padding: 10px 5px; }

.documentation-results-found-list ul .results-items-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 112.5em) {
    .documentation-results-found-list ul .results-items-container ul {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .documentation-results-found-list ul .results-items-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    padding: 0; }
    .documentation-results-found-list ul .results-items-container ul li:not(:last-child):after {
      content: "";
      margin: 0 7px;
      color: #484848;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
    .documentation-results-found-list ul .results-items-container ul li a {
      font-weight: 600; }

.documentation-results-found-list ul .results-snippet-container {
  font-size: 0.875rem; }
  .documentation-results-found-list ul .results-snippet-container p {
    margin: 5px 0 10px;
    padding: 0; }

.documentation-back-button-container .documentation-back-button {
  margin: 0; }

.statistics-content-container {
  background-color: #f3f3f3; }
  .statistics-content-container ul {
    padding: 10px 20px; }
    .statistics-content-container ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      font-size: 0.9375rem;
      font-weight: 600; }
  .statistics-content-container .label {
    padding-right: 5px; }

.revision-count-container.seperator span {
  margin: 0 0 10px;
  padding: 0 0 5px;
  position: relative; }
  .revision-count-container.seperator span:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #000000; }
    @media print {
      .revision-count-container.seperator span:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }

.revision-count-container span {
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 700; }

.revision-information-container {
  background-color: var(--neutral-colour-lightness-8); }
  .revision-information-container table.audit-trail-entry thead th {
    border-color: var(--white-colour); }

.technical-documentation-list-container:not(:last-child):after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid var(--neutral-colour-lightness-8); }

.documentation-demo-link-container {
  margin: 10px 0;
  padding: 10px;
  background-color: var(--neutral-colour-lightness-10); }

.inspect-prompt {
  display: block;
  margin: 30px 0;
  font-weight: 600; }

.express-configuration {
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: var(--neutral-colour-lightness-9); }
  @media screen and (min-width: 112.5em) {
    .express-configuration {
      padding-top: 100px;
      padding-bottom: 100px; } }
  .express-configuration .configuration-section {
    width: 100%;
    padding: 10px 20px;
    background-color: var(--white-colour);
    border: 2px solid var(--neutral-colour-lightness-8); }
    .express-configuration .configuration-section:not(:last-of-type) {
      margin-bottom: 20px; }
    .express-configuration .configuration-section .axis-section-header h2 {
      margin: 0; }

.configuration-introduction-container {
  margin-bottom: 20px; }
  .configuration-introduction-container .cms-content-container p {
    margin: 5px 0; }

.technical-list {
  margin: 0;
  padding: 0; }
  .technical-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .technical-list li:not(:last-child) {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--neutral-colour-lightness-8); }
  .technical-list .header-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .technical-list .state {
    margin-left: auto;
    padding: 2px 10px;
    background-color: var(--state-background-colour);
    border: 1px solid var(--state-colour);
    font-size: 0.75rem;
    color: var(--state-colour);
    font-weight: 600; }
    .technical-list .state.active {
      --state-background-colour: var(--success-colour-lightness-9);
      --state-colour: var(--success-colour-lightness-0); }
    .technical-list .state.disabled {
      --state-background-colour: var(--warning-colour-lightness-9);
      --state-colour: var(--warning-colour-lightness-0); }
  .technical-list .key-value-pair {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px; }
    .technical-list .key-value-pair .name {
      font-weight: 600; }

.neutralised-items {
  margin: 10px 0 20px; }
  .neutralised-items .placeholder-value-display:not(:last-child) {
    margin-bottom: 10px; }

.placeholder-value-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .placeholder-value-display .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 600;
    font-size: 0.875rem; }
    .placeholder-value-display .name::after {
      content: "=>";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      margin-right: 15px;
      padding-left: 15px;
      font-weight: 400;
      font-size: 15px;
      color: var(--neutral-colour-lightness-6); }
  .placeholder-value-display .value {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--primary-colour-lightness-0); }

/*
----- Context Menu ------ 
Essentially a toolbar / toolbox menu
*/
.context-menu-container {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  z-index: 1995; }
  @media print, screen and (min-width: 40em) {
    .context-menu-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      opacity: 1; } }
  .context-menu-container.active, .context-menu-container.is-closing {
    background-color: #ffffff;
    z-index: 1996; }
  .context-menu-container ol, .context-menu-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container ol, .context-menu-container ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .context-menu-container ol li, .context-menu-container ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0; }
      @media print, screen and (min-width: 40em) {
        .context-menu-container ol li, .context-menu-container ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
        max-height: 700px;
        border: 1px solid #aeaeae;
        -webkit-transition: max-height 0.6s, border-color 0.6s;
        transition: max-height 0.6s, border-color 0.6s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
            max-width: 1800px;
            max-height: none;
            -webkit-transition: max-width 0.6s;
            transition: max-width 0.6s; } }
      .context-menu-container ol li.active > button.menu-option-container, .context-menu-container ul li.active > button.menu-option-container {
        background-color: #DB651B;
        border-color: #DB651B;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
        .context-menu-container ol li.active > button.menu-option-container .menu-option-icon:before, .context-menu-container ul li.active > button.menu-option-container .menu-option-icon:before {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
        width: 100%;
        max-height: 0;
        position: absolute;
        top: 100%;
        background-color: #ffffff;
        overflow: hidden;
        z-index: 1;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
            max-width: 0;
            width: auto;
            max-height: none;
            height: 100%;
            top: 0;
            right: 100%;
            -webkit-transition: max-width 0.8s;
            transition: max-width 0.8s; } }
  @media print, screen and (min-width: 40em) {
    .context-menu-container .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .context-menu-container .state-menu-container .menu-option-container {
    opacity: .5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .context-menu-container .state-menu-container .menu-option-container:hover, .context-menu-container .state-menu-container .menu-option-container:active {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:hover {
    background-color: var(--neutral-colour-lightness-0);
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .context-menu-container .edit-menu-container .menu-option-container:hover .menu-option-icon:before {
      color: var(--white-colour);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:active {
    background-color: var(--secondary-colour-lightness-0); }
  .context-menu-container .menu-option-container {
    --icon-colour: var(--neutral-colour-lightness-0);
    width: 45px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 7.5px 10px;
    line-height: 1;
    border: 1px solid transparent; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container .menu-option-container:active {
        width: auto;
        min-width: 45px; }
        .context-menu-container .menu-option-container:active .menu-option-label {
          display: block; } }
    .context-menu-container .menu-option-container .menu-option-label {
      display: none;
      font-weight: 600;
      font-size: 0.8125rem; }
    .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon {
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon:before {
        color: var(--icon-colour);
        font-family: "Font Awesome Solid";
        font-size: 19px;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s; }
    .context-menu-container .menu-option-container.access-level .menu-option-icon-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon:before {
        content: ""; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon-text {
        font-size: 11px; }
    .context-menu-container .menu-option-container.access-level.state-value-0 {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.access-level.state-value-1 {
      --icon-colour: var(--neutral-colour-lightness-0);
      color: var(--neutral-colour-lightness-0); }
    .context-menu-container .menu-option-container.access-level.state-value-2 {
      --icon-colour: var(--black-colour);
      color: var(--black-colour); }
    .context-menu-container .menu-option-container.access-level.state-value-3, .context-menu-container .menu-option-container.access-level.state-value-4 {
      --icon-colour: var(--accent-colour-1-lightness-0);
      color: var(--accent-colour-1-lightness-0); }
    .context-menu-container .menu-option-container.published .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.published.state-value-true {
      --icon-colour: var(--success-colour-lightness-0);
      color: var(--success-colour-lightness-0); }
    .context-menu-container .menu-option-container.published.state-value-false {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.edit-menu .menu-option-icon:before {
      content: "";
      color: #DB651B; }
    .context-menu-container .menu-option-container.edit-text .menu-option-icon:before {
      content: "";
      font-size: 16px; }
    .context-menu-container .menu-option-container.edit-properties .menu-option-icon:before {
      content: "";
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.move-up .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.move-down .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.insert-before .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.insert-after .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.promote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.demote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.delete .menu-option-icon:before {
      content: "";
      font-size: 17px; }
    .context-menu-container .menu-option-container.move-article .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.audit-trail .menu-option-icon:before {
      content: ""; }

/*
----- Graduated Colour Edge ------ 
Edge effect where the is typically 3 tones of a specific colour in the corner of a element / component.
Possible class configuration options:
- Opacity enumeration ( High, Medium, Low )
- Position Top + Bottom L & R corners

For a demonstration go to /static/graduated-colour-edge-test.html
*/
.graduated-colour-edge {
  --graduated-step-height: var(--component-specifc-step-height, 60px);
  width: 600px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .graduated-colour-edge.position-1 {
    top: 0;
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.position-2 {
    top: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-3 {
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-4 {
    bottom: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.opacity-1 .step {
    opacity: .9; }
    .graduated-colour-edge.opacity-1 .step + .step {
      opacity: .6; }
      .graduated-colour-edge.opacity-1 .step + .step + .step {
        opacity: .3; }
  .graduated-colour-edge.opacity-2 .step {
    opacity: .6; }
    .graduated-colour-edge.opacity-2 .step + .step {
      opacity: .3; }
      .graduated-colour-edge.opacity-2 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge.opacity-3 .step {
    opacity: .3; }
    .graduated-colour-edge.opacity-3 .step + .step {
      opacity: .2; }
      .graduated-colour-edge.opacity-3 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge .step {
    width: 600px;
    height: var(--graduated-step-height);
    display: block;
    background-color: var(--primary-colour-lightness-0); }

/*
----- Axis Rich Text Editors ----- 
Bespoke rules that get applied when intergrating with third-party editors.

General rules that get applied to .rich-text-editor-container which is the common container that gets used across all editors.
*/
.ck-body-wrapper {
  z-index: 2021; }
  .ck-body-wrapper.disabled {
    display: none; }

.ck-editor .ck-content ul {
  list-style-type: none; }

.rich-text-editor-container {
  --ck-color-base-border: #dadada;
  --ck-color-base-error: #b20c0c;
  --ck-image-style-spacing: 10px;
  position: relative;
  --ck-color-image-caption-text: #000000; }

[data-axis-rich-text-editor] {
  min-height: 100px; }
  [data-axis-rich-text-editor]:not(.rich-text-editor-container) {
    border: 1px solid #dadada; }
  [data-axis-rich-text-editor] > textarea {
    display: none; }

.ck-source-editing-area textarea {
  overflow: auto !important; }

.axis-editor-indent-level-1 {
  --indent-margin: 0 0 0 calc(1 * 25px); }
  .axis-editor-indent-level-1 + ul, .axis-editor-indent-level-1 + ol {
    margin-left: calc(1 * 25px); }

.axis-editor-indent-level-2 {
  --indent-margin: 0 0 0 calc(2 * 25px); }
  .axis-editor-indent-level-2 + ul, .axis-editor-indent-level-2 + ol {
    margin-left: calc(2 * 25px); }

.axis-editor-indent-level-3 {
  --indent-margin: 0 0 0 calc(3 * 25px); }
  .axis-editor-indent-level-3 + ul, .axis-editor-indent-level-3 + ol {
    margin-left: calc(3 * 25px); }

.axis-editor-indent-level-4 {
  --indent-margin: 0 0 0 calc(4 * 25px); }
  .axis-editor-indent-level-4 + ul, .axis-editor-indent-level-4 + ol {
    margin-left: calc(4 * 25px); }

.axis-editor-indent-level-5 {
  --indent-margin: 0 0 0 calc(5 * 25px); }
  .axis-editor-indent-level-5 + ul, .axis-editor-indent-level-5 + ol {
    margin-left: calc(5 * 25px); }

/*

----- Video Player ----

IMPORTANT: This is specifically for embedding Youtube videos / Banner series. /static/video-series.html

Handles:
- Thumbnail play icon.
- Duration formatting.
- Video indicator text ( click here to watch video )

*/
.video-player-container {
  cursor: pointer; }
  .video-player-container:hover .image:after {
    color: var(--white-colour);
    background-color: var(--accent-colour-1-lightness-3);
    border-color: var(--white-colour);
    -webkit-transition: color 0.6s, background-color 0.6s, border-color 0.6s;
    transition: color 0.6s, background-color 0.6s, border-color 0.6s; }
  .video-player-container .image {
    position: relative; }
    .video-player-container .image:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
  .video-player-container .duration-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: var(--neutral-colour-lightness-0); }
    .video-player-container .duration-container:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-family: "Font Awesome Solid";
      font-size: 16px; }
    .video-player-container .duration-container .label, .video-player-container .duration-container .value {
      font-size: 0.9375rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 112.5em) {
    .video-player-container .read-more {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }

/*
  Multimedia Element
  
  Handles styling for video playback

*/
video {
  max-width: 100%; }

.video {
  position: relative; }
  @supports not (-apple-pay-button-style: inherit) {
    .video.is-ready-to-play:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
    .video.replay-video:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; } }

.source-unsupported > video {
  display: none; }

.source-unsupported > img {
  display: none; }

[data-fallback] {
  display: none; }

.fallback-element {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: none; }
  .fallback-element.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .fallback-element img {
    z-index: 1; }
  .fallback-element .fallback-text {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    background-color: rgba(246, 246, 246, 0.8);
    color: var(--neutral-colour-lightness-0);
    font-size: 1.25rem;
    font-weight: 600;
    z-index: 2; }
    .fallback-element .fallback-text:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-size: 32px;
      font-family: "Font Awesome Solid";
      grid-column: 1;
      grid-row: 1 / span 2; }
    .fallback-element .fallback-text .error-details {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .fallback-element .fallback-text span, .fallback-element .fallback-text div {
      grid-column: 2; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=112.5em&xlarge=100em&xxlarge=120em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: var(--neutral-colour-lightness-8);
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type=search] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #c8c8c8; }

::-moz-placeholder {
  color: #c8c8c8; }

:-ms-input-placeholder {
  color: #c8c8c8; }

::-ms-input-placeholder {
  color: #c8c8c8; }

::placeholder {
  color: #c8c8c8; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type=file] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.6;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #dadada;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

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

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  font-family: "Open Sans", "Open Sans Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28149, 149, 149%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  select:disabled {
    background-color: var(--neutral-colour-lightness-8);
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #b20c0c;
  background-color: #f7e7e7; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #b20c0c; }

.is-invalid-label {
  color: #b20c0c; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #b20c0c; }
  .form-error.is-visible {
    display: block; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto; }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .cell.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 112.5em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .xlarge-shrink {
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.3125rem;
  margin-right: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.625rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.625rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.625rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.625rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.625rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.625rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.625rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.625rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.625rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 112.5em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 112.5em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 100em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.625rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.625rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.625rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.625rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.625rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.625rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.625rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.625rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 112.5em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media screen and (min-width: 112.5em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 112.5em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 112.5em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 112.5em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem / 2); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem / 2); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem / 2); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem / 2); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem / 2); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem / 2); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem / 2); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem / 2); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem / 2); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem / 2); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem / 2); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem / 2); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 112.5em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 100em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 112.5em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media screen and (min-width: 112.5em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 112.5em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 112.5em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 100em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
  width: auto; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 112.5em) {
  .grid-y.large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 100em) {
  .grid-y.xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media screen and (min-width: 112.5em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 100em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 112.5em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 112.5em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 112.5em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.25rem); } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #959595;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 26px;
    top: auto;
    font-size: 2em;
    line-height: 1; }

.switch {
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2rem; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #DB651B;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.41rem;
    left: 0.41rem;
    display: block;
    width: 1.18rem;
    height: 1.18rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #5F7B27; }
    input:checked ~ .switch-paddle::after {
      left: 2.41rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.68rem;
    height: 0.68rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.91rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.93rem;
    height: 0.93rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2.16rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 1.68rem;
    height: 1.68rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.91rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 0;
    background-color: transparent; }
  caption {
    padding: 0;
    font-weight: bold; }
  thead {
    background: rgba(6, 6, 6, 0);
    color: var(--primary-colour-lightness-0); }
  tfoot {
    background: rgba(13, 13, 13, 0);
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0; }
  tbody tr {
    border-bottom: 0;
    background-color: transparent; }
  table.striped tbody tr:nth-child(odd) {
    background-color: #f3f3f3; }

@media print, screen and (max-width: 112.49875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: transparent; }

table.hover tfoot tr:hover {
  background-color: rgba(8, 8, 8, 0); }

table.hover tbody tr:hover {
  background-color: #ffffff; }

table.hover.striped tr:nth-of-type(odd):hover {
  background-color: #ffffff; }

.table-scroll {
  overflow-x: auto; }

.breadcrumbs {
  margin: 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.9375rem;
    color: #5F7B27;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "";
      color: #484848; }
  .breadcrumbs a {
    color: #484848; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #5F7B27;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #5f7b27;
    color: #ffffff; }
  .callout.secondary {
    background-color: #eeeeee;
    color: #000000; }
  .callout.success {
    background-color: #12811f;
    color: #ffffff; }
  .callout.warning {
    background-color: #ff5e05;
    color: #000000; }
  .callout.alert {
    background-color: #b20c0c;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #aeaeae;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #dadada;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: var(--primary-colour-lightness-0); }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #dadada;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ffffff; }

.accordion-content {
  display: none;
  padding: 0;
  border: 1px solid #dadada;
  border-bottom: 0;
  background-color: transparent;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #dadada; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: none;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #5F7B27; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #69882b; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0;
    font-size: 1.0625rem;
    line-height: 1;
    color: #959595; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: gray; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: none;
      color: var(--primary-colour-lightness-0); }

.tabs-content {
  border: 1px solid transparent;
  border-top: 0;
  background: none;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid transparent;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 10px; }
  .tabs-panel.is-active {
    display: block; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 7.5px 5px 7.5px 16px; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 112.5em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 100em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #ffffff; }
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right.icon-top li a img,
  .menu.align-right.icon-top li a i,
  .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
  .menu.align-right.icon-bottom li a i,
  .menu.align-right.icon-bottom li a svg {
    text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 7.5px 5px 7.5px 16px;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #aeaeae;
    -webkit-box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae;
            box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #000000;
    -webkit-box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
            box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #959595;
    -webkit-box-shadow: 0 7px 0 #959595, 0 14px 0 #959595;
            box-shadow: 0 7px 0 #959595, 0 14px 0 #959595; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .is-accordion-submenu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #5F7B27 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 7.5px 5px 7.5px 16px;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #5F7B27;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-right-width: 0;
  border-color: transparent transparent transparent #5F7B27;
  right: 1rem;
  left: auto; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #5F7B27 transparent transparent;
  right: auto;
  left: 1rem; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #5F7B27 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu > li > a {
  padding: 7.5px 5px 7.5px 16px; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #5F7B27; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 112.5em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 300px;
  border: 1px solid #aeaeae;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 4000; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 4000; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media screen and (min-width: 112.5em) {
    .position-left {
      width: 400px;
      -webkit-transform: translateX(-400px);
              transform: translateX(-400px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 112.5em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 112.5em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px); }
  @media screen and (min-width: 112.5em) {
    .position-right {
      width: 400px;
      -webkit-transform: translateX(400px);
              transform: translateX(400px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 112.5em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 112.5em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 112.5em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media screen and (min-width: 100em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 112.5em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 100em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

.title-bar {
  padding: 0.5rem;
  background: #000000;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 112.5em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 112.5em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 112.49875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 112.5em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 112.5em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 112.49875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 112.5em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 112.49875em), screen and (min-width: 100em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 99.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 100em) and (max-width: 119.99875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 99.99875em), screen and (min-width: 120em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

/*
----- Menus -----
TODO: This is a work in progress I am still migrating from a massive blob of code embedded in header.scss.
Handles the following: 
- Dropdowns
- Drill downs
- Accordions
- Mega menu
  - Mega menu see more link.
  - EBG image.
*/
.menu-header {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  border-bottom: 0; }
  @media screen and (min-width: 112.5em) {
    .menu-header {
      display: none; } }
  .menu-header:hover {
    background-color: transparent; }
  .menu-header:active {
    background: transparent; }
  .menu-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #5F7B27;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu-header .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu-header .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .menu-header .menu-heading {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 0 0 15px;
    color: #5F7B27;
    font-size: 1.5625rem;
    font-weight: 600;
    border-bottom: 1px solid #aeaeae; }

.menu-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 112.5em) {
    .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.menu, .dropdown.menu {
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 112.5em) {
    .menu, .dropdown.menu {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .menu .navigation-cms-container, .menu .menu-header, .dropdown.menu .navigation-cms-container, .dropdown.menu .menu-header {
    position: relative;
    margin: 30px 0 40px;
    border-bottom: 0; }
    .menu .navigation-cms-container:hover, .menu .menu-header:hover, .dropdown.menu .navigation-cms-container:hover, .dropdown.menu .menu-header:hover {
      background-color: transparent; }
    .menu .navigation-cms-container:active, .menu .menu-header:active, .dropdown.menu .navigation-cms-container:active, .dropdown.menu .menu-header:active {
      background: transparent; }
    .menu .navigation-cms-container p, .menu .menu-header p, .dropdown.menu .navigation-cms-container p, .dropdown.menu .menu-header p {
      margin: 0;
      padding: 0;
      color: #5F7B27;
      font-size: 1.25rem;
      font-weight: 700; }
  .menu .close-button, .dropdown.menu .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .menu .close-button:before, .dropdown.menu .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu .close-button:hover:before, .dropdown.menu .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu .close-button:active:before, .dropdown.menu .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  @media print, screen and (max-width: 112.49875em) {
    .menu > li, .dropdown.menu > li {
      width: 100%;
      position: relative;
      border-bottom: 1px solid #aeaeae; }
      .menu > li > ul, .dropdown.menu > li > ul {
        padding: 0 0 10px;
        background-color: #ffffff;
        list-style: none;
        border-top: 1px solid #aeaeae; }
        .menu > li > ul > li, .dropdown.menu > li > ul > li {
          border: 0; }
          .menu > li > ul > li > a, .dropdown.menu > li > ul > li > a {
            font-size: 1.0625rem;
            font-weight: 700; }
        .menu > li > ul ul, .dropdown.menu > li > ul ul {
          border: none; }
          .menu > li > ul ul a, .dropdown.menu > li > ul ul a {
            color: #000000;
            font-weight: 400;
            font-size: 1.0625rem; }
    .menu .account-menu, .dropdown.menu .account-menu {
      padding: 0; } }
  .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
    display: none;
    margin-bottom: 25px;
    text-align: center; }
    @media screen and (min-width: 112.5em) {
      .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin-bottom: 0; } }
  .menu.accordion-menu > li > a:after, .dropdown.menu.accordion-menu > li > a:after {
    color: #5F7B27; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #484848;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu > li:active > a:after, .dropdown.menu.accordion-menu > li:active > a:after {
    color: #ffffff;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
    content: ""; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after {
      content: "";
      width: 10px;
      height: 10px;
      margin-right: 10px;
      margin-left: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      text-align: center;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before {
    content: ""; }
  @media print, screen and (max-width: 112.49875em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      content: "";
      height: 12px;
      margin: auto 0;
      padding: 0 10px 0 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      line-height: 12px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 112.49875em) and (min-width: 112.5em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      padding: 0 10px 0 5px; } }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul {
    padding: 0 0 0 20px;
    list-style: none; }
  .menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after, .dropdown.menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after {
    content: ""; }
  .submenu-toggle:after {
    content: "";
    width: auto;
    height: auto;
    font-size: 12px;
    font-family: "Font Awesome Solid";
    border: 0; }
  @media print, screen and (max-width: 112.49875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] .submenu, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] .submenu {
      margin: 0;
      padding: 0; } }
  @media print, screen and (max-width: 112.49875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a {
      padding-left: 45px; } }
  .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item {
    background-color: var(--ebg-background-colour, #7a8e52); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a {
      color: var(--ebg-foreground-colour, #5F7B27); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after {
      color: var(--ebg-foreground-colour, #5F7B27); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul {
      background-color: var(--ebg-background-colour, #7a8e52); }
      .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a {
        color: var(--ebg-foreground-colour, #5F7B27); }
  .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item), .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) {
    background-color: var(--ebg-background-colour, #7a8e52); }
    .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a {
      color: var(--ebg-foreground-colour, #5F7B27); }
  .menu.ebg-colour-hover li[style*="--ebg"]:hover, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #7a8e52); }
    .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #5F7B27); }
      .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #5F7B27); }
  .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #7a8e52); }
    .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #5F7B27); }
      .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #5F7B27); }
  .menu li, .dropdown.menu li {
    list-style: none; }
  .menu > li, .dropdown.menu > li {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .menu > li, .dropdown.menu > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .menu > li a, .dropdown.menu > li a {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      line-height: 1.6; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #5F7B27; }
      .menu > li:hover > a, .dropdown.menu > li:hover > a {
        color: #ffffff; }
    .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-top: 7.5px;
          padding-bottom: 7.5px; } }
      .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
        width: 35px;
        height: 35px;
        display: block;
        padding: 0 10px 0 0; }
        @media screen and (min-width: 112.5em) {
          .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
            width: 45px;
            height: 45px;
            padding: 0; } }
        @media screen and (min-width: 112.5em) {
          .menu > li > a.has-link-image .link-image + .link-description, .menu > li > p.has-link-image .link-image + .link-description, .dropdown.menu > li > a.has-link-image .link-image + .link-description, .dropdown.menu > li > p.has-link-image .link-image + .link-description {
            padding: 10px 0 0; } }
    .menu > li > a, .dropdown.menu > li > a {
      width: 100%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1.6; }
      @media screen and (min-width: 112.5em) {
        .menu > li > a, .dropdown.menu > li > a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; } }
    .menu > li > ul, .dropdown.menu > li > ul {
      padding: 0 0 10px;
      border-color: var(--ebg-background-colour, #5F7B27); }
      .menu > li > ul:not(.submenu), .dropdown.menu > li > ul:not(.submenu) {
        display: none; }
      @media screen and (min-width: 112.5em) {
        .menu > li > ul, .dropdown.menu > li > ul {
          padding: 0; } }
      @media screen and (min-width: 112.5em) {
        .menu > li > ul li ul li.is-submenu-item, .dropdown.menu > li > ul li ul li.is-submenu-item {
          padding-left: 20px; } }
      .menu > li > ul > li a, .menu > li > ul .is-active a, .dropdown.menu > li > ul > li a, .dropdown.menu > li > ul .is-active a {
        position: relative;
        margin: 0; }
      .menu > li > ul > li.is-dropdown-submenu-parent > a:after, .menu > li > ul .is-active.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul > li.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul .is-active.is-dropdown-submenu-parent > a:after {
        content: "";
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin: 0 0 0 auto;
        font-family: "Font Awesome Solid";
        font-size: 12px; }
  .menu.dropdown li > a, .dropdown.menu.dropdown li > a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.dropdown > li.is-dropdown-submenu-parent, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent {
    border-radius: 0 0 0 0; }
  .menu.dropdown > li:not(.is-dropdown-submenu-parent), .dropdown.menu.dropdown > li:not(.is-dropdown-submenu-parent) {
    border-radius: 0; }
  .menu.on-page-menu, .dropdown.menu.on-page-menu {
    margin: auto;
    padding: 10px;
    border: 1px solid #eeeeee;
    border-radius: 0; }
    .menu.on-page-menu > li, .dropdown.menu.on-page-menu > li {
      position: initial;
      border: 0;
      border-radius: 0; }
      .menu.on-page-menu > li:hover, .dropdown.menu.on-page-menu > li:hover {
        color: #5F7B27;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #5F7B27; }
      .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
        margin-left: 35px; }
        @media screen and (min-width: 112.5em) {
          .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
            margin-left: 60px; } }
        .menu.on-page-menu > li p i, .dropdown.menu.on-page-menu > li p i {
          margin-right: 5px; }
  .menu .home-button, .dropdown.menu .home-button {
    width: 100%;
    position: relative;
    display: none; }
    @media screen and (min-width: 112.5em) {
      .menu .home-button, .dropdown.menu .home-button {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        width: 100%;
        display: block; } }
    .menu .home-button:hover, .dropdown.menu .home-button:hover {
      background-color: #ffffff;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .menu .home-button:hover a:before, .dropdown.menu .home-button:hover a:before {
        background-color: transparent;
        color: #484848;
        -webkit-transition: color 0.8s, background-color 0.8s;
        transition: color 0.8s, background-color 0.8s; }
    .menu .home-button:active, .dropdown.menu .home-button:active {
      background-color: #5F7B27; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #ffffff; }
    .menu .home-button a, .dropdown.menu .home-button a {
      width: 100%;
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .menu .home-button a:before, .dropdown.menu .home-button a:before {
        content: "";
        padding: 0;
        font-family: "Font Awesome Solid";
        font-size: 14px;
        color: #ffffff;
        background-color: transparent;
        border-radius: 0;
        -webkit-transition: color 0.6s, padding 0.8s;
        transition: color 0.6s, padding 0.8s; }
  .menu .account-menu, .dropdown.menu .account-menu {
    width: 100%;
    right: 0 !important;
    left: auto !important;
    padding: 10px 0; }
    @media screen and (min-width: 112.5em) {
      .menu .account-menu, .dropdown.menu .account-menu {
        max-height: 70vh;
        width: 550px;
        padding: 20px;
        overflow-y: auto; } }
    .menu .account-menu li, .dropdown.menu .account-menu li {
      position: relative; }
      .menu .account-menu li > a, .dropdown.menu .account-menu li > a {
        padding: 10px; }
    .menu .account-menu .account-page > a:before, .dropdown.menu .account-menu .account-page > a:before {
      content: unset; }
    .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      border: 0;
      top: 100% !important;
      right: 0;
      left: auto; }
      @media screen and (min-width: 112.5em) {
        .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
          padding-bottom: 50px;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border-bottom-color: #5F7B27;
          border-width: 0 0 6px 0;
          border-style: solid; } }
  .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
    margin-bottom: 30px;
    background-color: #eeeeee;
    border-color: transparent;
    cursor: pointer; }
    @media screen and (min-width: 112.5em) {
      .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 0;
        padding-left: 13px;
        padding-right: 45px;
        background-color: transparent; } }
    .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu:hover {
      background-color: #eeeeee; }
      .menu .site-setting-menu:hover > a, .dropdown.menu .site-setting-menu:hover > a {
        color: #000000; }
    .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
      width: auto;
      margin: 0 20px 20px;
      border-color: #ffffff; }
      @media screen and (min-width: 112.5em) {
        .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
          min-width: 160px;
          margin: 0;
          padding: 10px 45px 10px 22px;
          border-color: transparent;
          border-bottom-color: #5F7B27;
          border-width: 0 0 6px 0;
          border-style: solid; }
          .menu .site-setting-menu > ul:after, .dropdown.menu .site-setting-menu > ul:after {
            content: '';
            width: 90%;
            height: 2px;
            position: absolute;
            top: 2px;
            right: 0;
            left: 0;
            display: block;
            margin: auto;
            background-color: #eeeeee; } }
      @media screen and (min-width: 112.5em) {
        .menu .site-setting-menu > ul a, .dropdown.menu .site-setting-menu > ul a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          padding: 0; } }
      .menu .site-setting-menu > ul a .currency-icon, .dropdown.menu .site-setting-menu > ul a .currency-icon {
        line-height: 2; }
    .menu .site-setting-menu .currency-container, .dropdown.menu .site-setting-menu .currency-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: auto 0; }
    .menu .site-setting-menu .selected-option, .dropdown.menu .site-setting-menu .selected-option {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; }
      @media screen and (min-width: 112.5em) {
        .menu .site-setting-menu .selected-option:before, .dropdown.menu .site-setting-menu .selected-option:before {
          content: "";
          display: inline-block;
          position: relative;
          top: auto;
          right: auto;
          margin: auto 15px auto 0;
          font-family: "Font Awesome Solid";
          font-size: 12px;
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu .site-setting-menu .selected-option:hover:before, .dropdown.menu .site-setting-menu .selected-option:hover:before {
          color: #959595; } }
      .menu .site-setting-menu .selected-option:active, .dropdown.menu .site-setting-menu .selected-option:active {
        background-color: transparent; }
      .menu .site-setting-menu .selected-option .currency-icon, .dropdown.menu .site-setting-menu .selected-option .currency-icon {
        position: relative;
        top: -1px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
          font-size: 12px; }
          @media screen and (min-width: 112.5em) {
            .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
              color: #5F7B27; } }
      .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 0 0 6px; }
        @media print, screen and (max-width: 112.49875em) {
          .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
            color: #000000;
            font-size: 0.875rem; } }
    .menu .site-setting-menu .currency, .dropdown.menu .site-setting-menu .currency {
      white-space: nowrap; }
      .menu .site-setting-menu .currency.disabled, .dropdown.menu .site-setting-menu .currency.disabled {
        opacity: .5;
        cursor: not-allowed; }
      .menu .site-setting-menu .currency .currency-icon, .dropdown.menu .site-setting-menu .currency .currency-icon {
        font-size: 13px; }
      .menu .site-setting-menu .currency .label, .dropdown.menu .site-setting-menu .currency .label {
        margin-left: 10px;
        color: #000000;
        font-size: 0.875rem;
        font-weight: 400; }
        .menu .site-setting-menu .currency .label:hover, .dropdown.menu .site-setting-menu .currency .label:hover {
          color: #DB651B; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #5F7B27; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 7.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #5F7B27; }
    @media screen and (min-width: 112.5em) {
      .menu .site-setting-menu.is-active, .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu.is-active, .dropdown.menu .site-setting-menu:hover {
        background-color: #ffffff; }
        .menu .site-setting-menu.is-active a .currency-icon:before, .menu .site-setting-menu:hover a .currency-icon:before, .dropdown.menu .site-setting-menu.is-active a .currency-icon:before, .dropdown.menu .site-setting-menu:hover a .currency-icon:before {
          color: #5F7B27; } }
    @media screen and (min-width: 112.5em) {
      .menu .site-setting-menu.is-active > a:before, .menu .site-setting-menu:hover > a:before, .dropdown.menu .site-setting-menu.is-active > a:before, .dropdown.menu .site-setting-menu:hover > a:before {
        content: "";
        color: #959595; } }

ul.menu li a[href^="tel:"]:before, ul.menu li a[href^="mailto:"]:before {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 1px 5px;
  color: #5F7B27;
  font-family: "Font Awesome Solid";
  background-color: #ffffff;
  border-radius: 25px;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }

ul.menu li a[href^="tel:"]:hover:before, ul.menu li a[href^="mailto:"]:hover:before {
  color: #ffffff;
  background-color: #5F7B27;
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

ul.menu li a[href^="tel:"]:active:before, ul.menu li a[href^="mailto:"]:active:before {
  color: #ffffff;
  background-color: #DB651B; }

ul.menu li a[href^="mailto:"]:before {
  content: "";
  font-size: 14px; }

ul.menu li a[href^="tel:"]:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 22px;
  font-size: 14px; }

.menu-scroll-container {
  overflow-y: auto;
  overflow-x: hidden; }

.submenu {
  height: auto;
  z-index: 400;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 112.5em) {
    .submenu.level2 {
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #5F7B27;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #5F7B27; }
    .submenu > li.is-active > a {
      color: #ffffff; }

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: 0; }

.menu-egb-image-container {
  float: right; }
  @media screen and (min-width: 112.5em) {
    .menu-egb-image-container {
      width: 100%;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 0 20px;
      grid-row: 1 / span last-line; } }
  .menu-egb-image-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .menu-egb-image-container .image img {
      border: 1px solid #c8c8c8;
      border-radius: 0; }

.mega-menu-container {
  --mega-menu-dropdown-gutter: 15px; }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container > ul.menu {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu {
        grid-template-columns: repeat(1, calc((100% - 0px) / 1)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 1; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu {
        grid-template-columns: repeat(2, calc((100% - 15px) / 2)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 2; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu {
        grid-template-columns: repeat(3, calc((100% - 30px) / 3)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 3; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu {
        grid-template-columns: repeat(4, calc((100% - 45px) / 4)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 4; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu {
        grid-template-columns: repeat(5, calc((100% - 60px) / 5)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 5; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu {
        grid-template-columns: repeat(6, calc((100% - 75px) / 6)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 6; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu {
        grid-template-columns: repeat(7, calc((100% - 90px) / 7)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 7; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu {
        grid-template-columns: repeat(8, calc((100% - 105px) / 8)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 8; } }
  .mega-menu-container > ul.menu > li {
    position: static; }
    .mega-menu-container > ul.menu > li:hover > .submenu {
      display: grid;
      grid-template-rows: auto;
      gap: 20px 15px; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container > ul.menu > li > ul.overflow-scroll {
        max-height: 70vh;
        padding-right: 30px;
        overflow-y: scroll; } }
    .mega-menu-container > ul.menu > li > ul.submenu {
      position: absolute;
      top: 100%;
      right: auto;
      left: 0;
      display: none;
      background-color: #ffffff; }
      .mega-menu-container > ul.menu > li > ul.submenu > li.has-cloned-groups-parent > a {
        display: none; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container > ul.menu > li > ul.submenu.js-dropdown-active {
        display: grid;
        grid-auto-flow: dense;
        grid-template-rows: auto;
        gap: 20px 15px; } }
    .mega-menu-container > ul.menu > li > ul > li {
      border-radius: 0; }
      .mega-menu-container > ul.menu > li > ul > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        content: "";
        height: 12px;
        margin: auto 0;
        padding: 0 10px 0 0;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "Font Awesome Solid";
        font-size: 12px;
        line-height: 12px;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }
  @media screen and (min-width: 112.5em) and (min-width: 112.5em) {
    .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
      padding: 0 10px 0 5px; } }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        color: transparent; } }
    .mega-menu-container > ul.menu > li > ul li.menu-egb-image-container {
      border-radius: 0; }
  .mega-menu-container .menu .has-cloned-groups a {
    padding-top: 5px;
    padding-bottom: 5px; }
  .mega-menu-container .megamenu-column-cloned-span {
    display: grid;
    grid-template-rows: repeat(var(--mega-menu-column-cloned-wrap), 1fr);
    grid-auto-flow: column;
    gap: 0 15px; }
  .mega-menu-container .childfree-parent {
    display: none; }
  .mega-menu-container .column-spanned > a {
    visibility: hidden; }
  .mega-menu-container .cloned-to-seperate-row {
    display: none; }
  .mega-menu-container li.is-submenu-parent.account-menu-container {
    position: relative; }
    .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
      position: absolute;
      top: 100%;
      right: 0;
      background-color: #ffffff; }
      @media screen and (min-width: 112.5em) {
        .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
          width: 550px;
          display: none; } }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container li.is-submenu-parent.account-menu-container:hover ul.account-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px; } }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding-left: 0;
      text-align: center; } }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a:before {
      display: none; } }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > ul.submenu {
      display: none; } }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li:hover .image {
    opacity: .6;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li .image {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .mega-menu-container .persistent-ebg-images .persistent-ebg-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 10px; }
    .mega-menu-container .persistent-ebg-images .persistent-ebg-image img {
      width: 150px; }

.mega-menu-container, .header-menu-right-container {
  width: 100%; }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container, .header-menu-right-container {
      width: auto; } }
  .mega-menu-container .level2, .header-menu-right-container .level2 {
    left: 0; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container .level2 li a, .header-menu-right-container .level2 li a {
        position: relative;
        margin: 0; } }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container .level2 > li:hover, .header-menu-right-container .level2 > li:hover {
        background-color: transparent; }
        .mega-menu-container .level2 > li:hover > a, .header-menu-right-container .level2 > li:hover > a {
          background-color: transparent; } }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container .level2.js-dropdown-active, .header-menu-right-container .level2.js-dropdown-active {
        top: 100%; } }
  .mega-menu-container .is-dropdown-submenu, .header-menu-right-container .is-dropdown-submenu {
    min-width: auto; }
  .mega-menu-container .submenu li.is-active, .header-menu-right-container .submenu li.is-active {
    background-color: transparent; }
  .mega-menu-container ul.menu > li:last-child, .header-menu-right-container ul.menu > li:last-child {
    margin-right: 0; }
  .mega-menu-container ul.menu > li:hover, .header-menu-right-container ul.menu > li:hover {
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .mega-menu-container ul.menu > li:hover > a, .header-menu-right-container ul.menu > li:hover > a {
      color: #484848;
      -webkit-transition: color 0.6s ;
      transition: color 0.6s ; }
  .mega-menu-container ul.menu > li:active, .header-menu-right-container ul.menu > li:active {
    background-color: #5F7B27; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #ffffff; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    text-transform: none;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 15px 15px;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #ffffff;
        text-align: left; } }
  .mega-menu-container ul.menu > li a, .header-menu-right-container ul.menu > li a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .mega-menu-container ul.menu > li a:hover, .header-menu-right-container ul.menu > li a:hover {
      opacity: 1; }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container ul.menu > li > ul, .header-menu-right-container ul.menu > li > ul {
      width: 1800px;
      padding: 40px 47px;
      z-index: 5000;
      -webkit-box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22); } }
  .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
    position: relative;
    margin: 0; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
        margin: 0; } }
    .mega-menu-container ul.menu > li > ul > li > a:hover, .header-menu-right-container ul.menu > li > ul > li > a:hover {
      color: #000000; }
    .mega-menu-container ul.menu > li > ul > li > a:active, .header-menu-right-container ul.menu > li > ul > li > a:active {
      color: #5F7B27; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #5F7B27;
      font-size: 1.0625rem;
      font-weight: 700;
      line-height: 1.6;
      text-transform: none; }
      @media screen and (min-width: 112.5em) {
        .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
          padding: 10px 0 5px 5px;
          font-size: 0.9375rem;
          font-weight: 800; } }
  @media screen and (min-width: 112.5em) {
    .mega-menu-container ul.menu > li > ul ul, .header-menu-right-container ul.menu > li > ul ul {
      position: relative;
      left: auto !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0;
      margin: 0;
      border: 0; } }
  .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
    color: #5F7B27;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
        padding: 10px 0 5px 5px;
        font-size: 0.9375rem;
        font-weight: 800; } }
  .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
    padding: 0; }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
        width: 100%;
        position: relative; } }
    @media screen and (min-width: 112.5em) {
      .mega-menu-container ul.menu > li > ul ul li:last-child, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child, .header-menu-right-container ul.menu > li > ul ul li:last-child, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child {
        margin-bottom: 10px; } }
    .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 112.5em) {
        .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
          color: #000000;
          padding: 0 0 0 5px;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 18px; } }
      .mega-menu-container ul.menu > li > ul ul li > a:hover, .mega-menu-container ul.menu > li > ul ul li > a:hover:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li > a:hover, .header-menu-right-container ul.menu > li > ul ul li > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before {
        color: #DB651B; }
      .mega-menu-container ul.menu > li > ul ul li > a:active, .mega-menu-container ul.menu > li > ul ul li > a:active:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before, .header-menu-right-container ul.menu > li > ul ul li > a:active, .header-menu-right-container ul.menu > li > ul ul li > a:active:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before {
        color: #5F7B27; }
    .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more {
      font-weight: 600;
      font-style: normal;
      color: #000000; }
      .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover {
        color: #DB651B; }

/*
----- Product List -----
Handles the following: 
- Various list views:
  - Table
  - Grid
- Anywhere a product list is show ( search results, product by group, account area pages ) this code will be used.
- This file is NOT dedicated to filters consult filter.scss for that.
- All sorting options ( items per pages, view selection, pagination, items found & sort by )
- No results found.
*/
#bespoke-search-results-container h2 {
  margin: 0 0 25px;
  font-size: 1.5625rem;
  font-weight: 600;
  text-transform: none;
  position: relative;
  color: #5F7B27;
  padding-bottom: 15px;
  position: relative; }
  #bespoke-search-results-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      #bespoke-search-results-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.search-results-suggestions {
  margin: 0 0 30px; }
  .search-results-suggestions ul {
    margin: auto;
    padding: 0;
    list-style: none; }
    .search-results-suggestions ul ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .search-results-suggestions ul ul li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 10px 0; }
        @media print, screen and (max-width: 39.99875em) {
          .search-results-suggestions ul ul li:nth-child(2n) {
            background-color: #f3f3f3; } }
        @media print, screen and (min-width: 40em) {
          .search-results-suggestions ul ul li {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 33.3%;
                    flex: 0 0 33.3%; }
            .search-results-suggestions ul ul li:nth-child(6n+3) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+2) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+1) {
              background-color: #f3f3f3; } }
  .search-results-suggestions a.suggestion {
    padding: 0 20px;
    color: #000000;
    font-size: 1rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #5F7B27;
      text-decoration: underline; }
  .search-results-suggestions .third-party-results-container {
    gap: 0;
    margin: 0; }
    .search-results-suggestions .third-party-results-container .description-container p {
      margin: 0 0 5px; }
    .search-results-suggestions .third-party-results-container .description-container p, .search-results-suggestions .third-party-results-container .snippet-container p {
      padding: 0; }
  .search-results-suggestions .result-container {
    padding: 20px; }
    .search-results-suggestions .result-container:nth-child(odd) {
      background-color: #f3f3f3; }

.section-description {
  margin-bottom: 30px; }

.section-heading {
  width: 100%;
  display: block;
  margin: 0 0 20px;
  padding: 10px 15px;
  background-color: #5F7B27;
  color: #ffffff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 0; }
  @media screen and (min-width: 112.5em) {
    .section-heading {
      padding: 15px 20px; } }
  .section-heading p {
    margin: 0;
    padding: 0; }

#product-list #groupData {
  margin-bottom: 50px; }

#productListItem .grid-x .cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

.listing-container {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 0; }
  @media screen and (min-width: 112.5em) {
    .listing-container {
      padding: 15px 0; } }

.contentContainer {
  position: relative; }
  .contentContainer[data-content-updating=true] {
    display: none; }
  @media screen and (min-width: 112.5em) {
    .contentContainer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 112.5em) {
    .contentContainer #attribute-filters-form {
      max-width: 280px;
      padding: 0 1% 0 0; } }
  @media screen and (min-width: 112.5em) {
    .contentContainer .attributeList {
      width: 180px; } }
  @media screen and (min-width: 100em) {
    .contentContainer .attributeList {
      width: 240px; } }
  .contentContainer #productListItems {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    margin-bottom: 40px; }
    .contentContainer #productListItems .sub-heading-container h2 {
      margin: 0; }
  .contentContainer #productListItems.list {
    margin-top: 15px; }
    .contentContainer #productListItems.list.seperator .rowContainer {
      padding-bottom: 20px; }
      .contentContainer #productListItems.list.seperator .rowContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        background-color: #dadada; }
    .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover {
      -webkit-transition: -webkit-box-shadow 0.8s;
      transition: -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s;
      transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover .description a h3, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover .description a h3 {
        color: #5F7B27;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .contentContainer #productListItems.list .sub-heading-container {
      margin: 0 0 10px; }
    .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
      margin: 30px 0 10px; }
      @media screen and (min-width: 112.5em) {
        .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
          margin: 30px 0 0; } }
    .contentContainer #productListItems.list .headContainer {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding-bottom: 10px;
      margin-bottom: 10px;
      font-size: 0.9375rem;
      font-weight: 600;
      font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
      .contentContainer #productListItems.list .headContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #aeaeae; }
      .contentContainer #productListItems.list .headContainer p {
        margin: 0;
        padding: 0 5px 10px;
        font-size: 0.9375rem;
        font-weight: 700;
        font-family: "Open Sans", "Open Sans Fallback", "Arial";
        color: var(--primary-colour-lightness-0);
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .description-col {
        width: 55%; }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .headContainer .description-col {
            width: auto;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1; } }
        .contentContainer #productListItems.list .headContainer .description-col p {
          text-align: left; }
      @media screen and (min-width: 112.5em) {
        .contentContainer #productListItems.list .headContainer .code-col {
          width: 11%; } }
      .contentContainer #productListItems.list .headContainer .code-col p {
        text-align: left;
        padding: 0 10px; }
      @media screen and (min-width: 112.5em) {
        .contentContainer #productListItems.list .headContainer .price-col {
          width: 20%; } }
      .contentContainer #productListItems.list .headContainer .price-col p {
        padding: 0 15px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .quantity-container-col {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .headContainer .quantity-container-col {
            width: 25%;
            margin-left: auto; } }
      .contentContainer #productListItems.list .headContainer .quantity-col {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        text-align: center; }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .headContainer .quantity-col {
            width: 150px; } }
      .contentContainer #productListItems.list .headContainer .basket-col {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .favourite-col {
        width: 25%;
        min-width: 90px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .login-col, .contentContainer #productListItems.list .headContainer .enquiry-col {
        max-width: 25%;
        width: 100%;
        margin: 0 0 0 auto;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .quantity {
        width: 12%; }
      .contentContainer #productListItems.list .headContainer .basket, .contentContainer #productListItems.list .headContainer .favourite {
        width: 9%; }
    .contentContainer #productListItems.list .rowContainer {
      width: 100%;
      position: relative;
      padding: 10px;
      display: grid;
      grid-template-columns: 30% 1fr;
      grid-template-areas: "multimedia-content description" "multimedia-content code" "multimedia-content price" "multimedia-content interactive";
      grid-template-rows: -webkit-min-content -webkit-min-content 1fr -webkit-min-content;
      grid-template-rows: min-content min-content 1fr min-content;
      gap: 10px 20px;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      @media print, screen and (min-width: 40em) {
        .contentContainer #productListItems.list .rowContainer {
          grid-template-columns: 20% 1fr; } }
      .contentContainer #productListItems.list .rowContainer .multimedia-content, .contentContainer #productListItems.list .rowContainer > a:first-child {
        grid-area: multimedia-content; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        grid-area: description; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        grid-area: code; }
      .contentContainer #productListItems.list .rowContainer .price-col {
        grid-area: price; }
      .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        grid-area: interactive;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
      @media screen and (min-width: 112.5em) {
        .contentContainer #productListItems.list .rowContainer {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
          gap: 0;
          margin: 10px 0;
          padding: 0; } }
      .contentContainer #productListItems.list .rowContainer:hover {
        background-color: #ffffff;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: -webkit-box-shadow 0.6s;
        transition: -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s;
        transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .contentContainer #productListItems.list .rowContainer > a:first-child {
        -ms-flex-item-align: start;
            align-self: flex-start;
        display: inline-block; }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer > a:first-child {
            width: 132px;
            margin: 20px; } }
      .contentContainer #productListItems.list .rowContainer .image {
        --media-aspect-ratio: 1/1;
        border: 1px solid #dadada;
        border-radius: 0;
        background-color: #ffffff;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .image {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .image {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            overflow: hidden; } }
        .contentContainer #productListItems.list .rowContainer .image img {
          margin: auto;
          border-radius: 0; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
        margin: 0; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 20px 0; } }
        .contentContainer #productListItems.list .rowContainer .description-col h3 {
          max-width: 245px;
          font-size: 0.9375rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #484848;
          font-size: 0.9375rem;
          font-weight: 600;
          line-height: 1.3; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #5F7B27;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #DB651B; }
        .contentContainer #productListItems.list .rowContainer .description-col .specification {
          font-size: 0.875rem;
          font-weight: 400;
          color: #000000; }
          .contentContainer #productListItems.list .rowContainer .description-col .specification p {
            margin: 0; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        font-size: 0.9375rem; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            width: 11%;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            margin: 0;
            padding: 0 10px;
            text-align: left; } }
      .contentContainer #productListItems.list .rowContainer .price-col {
        max-width: 320px;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #5F7B27; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            max-width: none;
            width: 20%;
            padding: 0 15px; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
        width: 100%; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            -webkit-box-ordinal-group: 7;
                -ms-flex-order: 6;
                    order: 6; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            max-width: 25%; } }
      @media screen and (min-width: 112.5em) {
        .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        margin-left: auto; }
      .contentContainer #productListItems.list .rowContainer .stockline-col {
        width: 100%; }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .stockline-col {
            max-width: 25%; } }
      .contentContainer #productListItems.list .rowContainer .quantity-container {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 0 20px; }
        @media print, screen and (max-width: 112.49875em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            width: 25%;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            gap: 0;
            margin-left: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .label {
          display: none; }
        .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 112.5em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
              width: 150px; } }
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
            width: 90px;
            margin: auto auto auto 0; }
            @media screen and (min-width: 112.5em) {
              .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
                margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          @media screen and (min-width: 112.5em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
              -webkit-box-pack: center;
                  -ms-flex-pack: center;
                      justify-content: center; } }
        @media screen and (min-width: 112.5em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-free-text-container {
            width: 150px; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
          position: relative; }
          @media screen and (min-width: 112.5em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
              width: auto;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-flex: 1;
                  -ms-flex-positive: 1;
                      flex-grow: 1; } }
          @media screen and (min-width: 112.5em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container .addToBasket {
              margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (min-width: 112.5em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
              width: 25%;
              min-width: 90px;
              -webkit-box-pack: flex-center;
                  -ms-flex-pack: flex-center;
                      justify-content: flex-center; } }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .label {
        color: #000000;
        font-weight: 600;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .value {
        color: #000000;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .description {
        display: block;
        color: #484848;
        font-weight: 700;
        font-size: 0.9375rem;
        line-height: 1.3; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #DB651B;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #000000;
        font-size: 0.9375rem; }
      @media print, screen and (max-width: 112.49875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label {
          display: none; } }
      @media print, screen and (max-width: 112.49875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label + .value {
          margin-left: 0; } }
      .contentContainer #productListItems.list .rowContainer .prices {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        font-size: 0.875rem; }
        .contentContainer #productListItems.list .rowContainer .prices p {
          margin: 0;
          font-weight: 700; }
        .contentContainer #productListItems.list .rowContainer .prices .price-container {
          width: 100%;
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          text-align: left;
          line-height: 1.3; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container:has(.vat) {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label {
            color: #000000;
            font-weight: 700; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label:not(:empty) {
              margin-right: 5px; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
              width: 100%;
              padding: 0 0 0 5px;
              text-align: right; }
              @media print, screen and (min-width: 40em) {
                .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
                  width: -webkit-fit-content;
                  width: -moz-fit-content;
                  width: fit-content; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
            color: #ff0101;
            font-weight: 700; }
            @media screen and (min-width: 112.5em) {
              .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
                text-align: right; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .value {
            color: #000000;
            font-weight: 700;
            text-transform: uppercase; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .value {
            color: #000000;
            font-weight: 700;
            font-size: 0.875rem;
            text-transform: uppercase;
            text-decoration: line-through; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label + .value {
            margin-right: 0;
            margin-left: auto;
            text-align: right; }
      .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .price-container .label, .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
      .contentContainer #productListItems.list .rowContainer .price {
        margin: 0; }
        .contentContainer #productListItems.list .rowContainer .price .currency {
          font-size: 1.625rem; }
      .contentContainer #productListItems.list .rowContainer .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        display: inline-block;
        padding-left: 10px;
        color: #484848;
        font-size: 0.75rem;
        font-weight: 600;
        text-align: left;
        white-space: nowrap; }
    .contentContainer #productListItems.list .enquiry-col {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }

.list-category-container {
  width: 100%; }
  .list-category-container:not(:last-child) {
    margin-bottom: 30px; }
  .list-category-container h2 {
    margin-bottom: 10px; }

.third-party-results-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0; }
  .third-party-results-container .result-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0; }
    @media screen and (min-width: 112.5em) {
      .third-party-results-container .result-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 20px; } }
  @media screen and (min-width: 112.5em) {
    .third-party-results-container .image-container {
      width: 150px; } }
  .third-party-results-container .description-container p {
    padding: 0;
    color: #5F7B27;
    font-size: 1.0625rem;
    font-weight: 600; }
  .third-party-results-container .snippet-container p {
    margin: 5px 0 10px;
    padding: 0;
    color: #484848;
    font-size: 0.875rem;
    line-height: normal; }

/*

---- AXIS Debugger ---- 

This is a side project of mine purly to make dev life a little easier / faster essentially this is just a drawer with a bunch of options to flush cache, set debug levels & clear the console.

*/
.development-drawer-container {
  width: 0;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  border-right: 1px solid #dadada;
  overflow-x: hidden;
  z-index: 8000000000;
  -webkit-transition: width 0.8s;
  transition: width 0.8s; }
  .development-drawer-container.active {
    width: 100%;
    -webkit-transition: width 0.6s;
    transition: width 0.6s; }
    @media screen and (min-width: 112.5em) {
      .development-drawer-container.active {
        width: 225px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }

.development-drawer {
  height: 100%;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #ededed; }
  .development-drawer ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .development-drawer ul li {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .development-drawer .service-worker-container .heading {
    font-size: 1.125rem;
    color: #484848; }
  .development-drawer .heading-container h2 {
    color: #484848;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize; }
  .development-drawer .drawer-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .development-drawer .drawer-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:hover:before {
      color: #5F7B27;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:active:before {
      color: #DB651B;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .development-drawer .option {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    border-radius: 5px;
    border: 2px solid #484848;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    cursor: pointer; }
    .development-drawer .option:before {
      display: block;
      font-family: "Font Awesome Solid";
      font-size: 38px;
      color: #484848;
      -webkit-transition: color, font-size 0.8s;
      transition: color, font-size 0.8s; }
    .development-drawer .option[debug-level="1"] {
      border-color: #b20c28; }
      .development-drawer .option[debug-level="1"]:before {
        font-size: 41.8px;
        color: #b20c28;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="2"] {
      border-color: #b20c43; }
      .development-drawer .option[debug-level="2"]:before {
        font-size: 45.6px;
        color: #b20c43;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="3"] {
      border-color: #b20c5f; }
      .development-drawer .option[debug-level="3"]:before {
        font-size: 49.4px;
        color: #b20c5f;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="4"] {
      border-color: #b20c7b; }
      .development-drawer .option[debug-level="4"]:before {
        font-size: 53.2px;
        color: #b20c7b;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option.clear-cache:before {
      content: ""; }
    .development-drawer .option.clear-console:before {
      content: ""; }
    .development-drawer .option.set-debugging-level:before {
      content: ""; }
    .development-drawer .option.axis-test-mode:before {
      content: ""; }
    .development-drawer .option.site-style:before {
      content: ""; }
    .development-drawer .option:hover {
      background-color: #ffffff;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .development-drawer .option:hover:before {
        color: #5F7B27;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #DB651B;
      border-color: #aeaeae;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
      .development-drawer .option:active:before {
        color: #aeaeae; }
  .development-drawer .slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #ffffff; }
    .development-drawer .slider .label {
      font-size: 1rem;
      font-weight: 600; }
      .development-drawer .slider .label [data-slider-value] {
        font-weight: 700; }
    .development-drawer .slider input {
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
  .development-drawer .switch {
    height: auto; }

.option-controls-container, .child-controls-container {
  max-height: 0;
  height: auto;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .option-controls-container.active, .child-controls-container.active {
    max-height: 500px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

:root {
  --primary-colour-lightness-0: #5F7B27;
  --primary-colour-lightness-1: #73952f;
  --primary-colour-lightness-2: #88b038;
  --primary-colour-lightness-3: #9ac446;
  --primary-colour-lightness-4: #a9cd60;
  --primary-colour-lightness-5: #b7d57b;
  --primary-colour-lightness-6: #c5dd95;
  --primary-colour-lightness-7: #d4e6b0;
  --primary-colour-lightness-8: #e2eeca;
  --primary-colour-lightness-9: #f1f7e5;
  --primary-colour-lightness-10: #f8fbf2;
  --secondary-colour-lightness-0: #DB651B;
  --secondary-colour-lightness-1: #e5732b;
  --secondary-colour-lightness-2: #e88343;
  --secondary-colour-lightness-3: #eb925a;
  --secondary-colour-lightness-4: #eea272;
  --secondary-colour-lightness-5: #f1b189;
  --secondary-colour-lightness-6: #f3c1a1;
  --secondary-colour-lightness-7: #f6d0b8;
  --secondary-colour-lightness-8: #f9e0d0;
  --secondary-colour-lightness-9: #fcefe7;
  --secondary-colour-lightness-10: #fef7f3;
  --accent-colour-1-lightness-0: #c00000;
  --accent-colour-1-lightness-1: #e00000;
  --accent-colour-1-lightness-2: #ff0101;
  --accent-colour-1-lightness-3: #ff2020;
  --accent-colour-1-lightness-4: #ff4040;
  --accent-colour-1-lightness-5: #ff6060;
  --accent-colour-1-lightness-6: #ff8080;
  --accent-colour-1-lightness-7: #ffa0a0;
  --accent-colour-1-lightness-8: #ffbfbf;
  --accent-colour-1-lightness-9: #ffdfdf;
  --accent-colour-1-lightness-10: #ffefef;
  --accent-colour-2-lightness-0: #2b579a;
  --accent-colour-2-lightness-1: #3265b2;
  --accent-colour-2-lightness-2: #3b73c8;
  --accent-colour-2-lightness-3: #5485cf;
  --accent-colour-2-lightness-4: #6c96d6;
  --accent-colour-2-lightness-5: #85a8dd;
  --accent-colour-2-lightness-6: #9db9e4;
  --accent-colour-2-lightness-7: #b6cbeb;
  --accent-colour-2-lightness-8: #cedcf1;
  --accent-colour-2-lightness-9: #e7eef8;
  --accent-colour-2-lightness-10: #f3f6fc;
  --accent-colour-3-lightness-0: #e5b701;
  --accent-colour-3-lightness-1: #fecc04;
  --accent-colour-3-lightness-2: #fed120;
  --accent-colour-3-lightness-3: #fed73c;
  --accent-colour-3-lightness-4: #fedd58;
  --accent-colour-3-lightness-5: #fee274;
  --accent-colour-3-lightness-6: #ffe88f;
  --accent-colour-3-lightness-7: #ffeeab;
  --accent-colour-3-lightness-8: #fff4c7;
  --accent-colour-3-lightness-9: #fff9e3;
  --accent-colour-3-lightness-10: #fffcf1;
  --accent-colour-4-lightness-0: #a234e3;
  --accent-colour-4-lightness-1: #ab48e6;
  --accent-colour-4-lightness-2: #b55de9;
  --accent-colour-4-lightness-3: #be71eb;
  --accent-colour-4-lightness-4: #c785ee;
  --accent-colour-4-lightness-5: #d19af1;
  --accent-colour-4-lightness-6: #daaef4;
  --accent-colour-4-lightness-7: #e3c2f7;
  --accent-colour-4-lightness-8: #ecd6f9;
  --accent-colour-4-lightness-9: #f6ebfc;
  --accent-colour-4-lightness-10: #faf5fe;
  --neutral-colour-lightness-0: #484848;
  --neutral-colour-lightness-1: #5b5b5b;
  --neutral-colour-lightness-2: #6d6d6d;
  --neutral-colour-lightness-3: #7f7f7f;
  --neutral-colour-lightness-4: #919191;
  --neutral-colour-lightness-5: #a4a4a4;
  --neutral-colour-lightness-6: #b6b6b6;
  --neutral-colour-lightness-7: #c8c8c8;
  --neutral-colour-lightness-8: #dadada;
  --neutral-colour-lightness-9: #ededed;
  --neutral-colour-lightness-10: #f6f6f6;
  --black-colour: #000000;
  --white-colour: #ffffff;
  --success-colour-lightness-0: #12811f;
  --success-colour-lightness-1: #16a127;
  --success-colour-lightness-2: #1bc12e;
  --success-colour-lightness-3: #20e036;
  --success-colour-lightness-4: #40e453;
  --success-colour-lightness-5: #60e970;
  --success-colour-lightness-6: #80ed8c;
  --success-colour-lightness-7: #9ff2a9;
  --success-colour-lightness-8: #bff6c6;
  --success-colour-lightness-9: #dffbe2;
  --success-colour-lightness-10: #effdf1;
  --warning-colour-lightness-0: #ff5e05;
  --warning-colour-lightness-1: #ff6e1e;
  --warning-colour-lightness-2: #ff7e37;
  --warning-colour-lightness-3: #ff8e50;
  --warning-colour-lightness-4: #ff9e69;
  --warning-colour-lightness-5: #ffaf82;
  --warning-colour-lightness-6: #ffbf9b;
  --warning-colour-lightness-7: #ffcfb4;
  --warning-colour-lightness-8: #ffdfcd;
  --warning-colour-lightness-9: #ffefe6;
  --warning-colour-lightness-10: #fff7f3;
  --alert-colour-lightness-0: #b20c0c;
  --alert-colour-lightness-1: #d00e0e;
  --alert-colour-lightness-2: #ee1010;
  --alert-colour-lightness-3: #f12d2d;
  --alert-colour-lightness-4: #f34b4b;
  --alert-colour-lightness-5: #f56969;
  --alert-colour-lightness-6: #f78787;
  --alert-colour-lightness-7: #f9a5a5;
  --alert-colour-lightness-8: #fbc3c3;
  --alert-colour-lightness-9: #fde1e1;
  --alert-colour-lightness-10: #fef0f0;
  --contained-content-max-width: 1800px;
  --uncontained-content-max-width: 1920px;
  --primary-font: Open Sans, Open Sans Fallback, Arial;
  --smooth-edges-enabled: false;
  --smooth-edges-level: 15px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.6;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 0; }

@font-face {
  font-family: "Open Sans Fallback";
  src: local("Arial");
  size-adjust: 109.04%;
  ascent-override: 106.88%;
  descent-override: 29.3%;
  line-gap-override: 0%; }

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }

body.scrollLock {
  overflow-y: hidden; }

main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  main > div {
    width: 100%; }

.image img {
  max-height: 100%; }

@media screen and (min-width: 112.5em) {
  .grid-x {
    max-width: 1920px; } }

.grid-x:not(.grid-margin-x) {
  max-width: 100%;
  width: 100%;
  margin: 0 auto; }

.grid-container {
  width: 100%; }
  @media screen and (min-width: 112.5em) {
    .grid-container {
      padding: 0; } }
  .grid-container.container-grow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .grid-container.container-grow .align-center {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }

@media print, screen and (max-width: 112.49875em) {
  hr.mobile-seperator {
    margin: 30px 0; } }

#footer-gtm-widget {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 112.5em) {
    #footer-gtm-widget {
      margin-top: 15px;
      margin-bottom: 15px; } }

#group-banner-carousel-container, .group-banner {
  margin-bottom: 20px; }

@media screen and (min-width: 112.5em) {
  #categoryGridOverride .large-2 {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    width: 18.33333%;
    float: left; } }
  @media screen and (min-width: 112.5em) and (min-width: 40em) {
    #categoryGridOverride .large-2 {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 112.5em) {
    #categoryGridOverride .large-2, #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: left;
      clear: none; }
    #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: right; } }

#categoryHeading, #productListHeading {
  margin-bottom: 20px; }

.popup-container {
  position: relative; }

#basketSummaryContainer:hover #noJsBasketNotification {
  opacity: 1;
  visibility: visible;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-bottom: 5px solid #5F7B27; }

#register-submit {
  margin-top: 10px; }

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #5F7B27;
  font-weight: 600;
  font-style: italic;
  font-size: 0.9375rem;
  font-family: "Open Sans", "Open Sans Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #DB651B; }
  .forgotten-password-link:active {
    color: #7a8e52; }

xmp {
  padding: 10px;
  border: 1px solid #dadada;
  white-space: inherit; }

.animate__animated:not(.animated-content-active) {
  visibility: hidden; }

.json-code-block code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 112.5em) {
    .json-code-block code {
      padding: 10px 35px; } }
  .json-code-block code:hover {
    border-color: #484848;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .json-code-block code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .json-code-block code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .json-code-block code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .json-code-block code .code-copy-button:hover {
      background-color: #5F7B27;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .json-code-block code .code-copy-button.active, .json-code-block code .code-copy-button:active {
      background-color: #5F7B27; }
      .json-code-block code .code-copy-button.active:before, .json-code-block code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .json-code-block code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .json-code-block code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0YXRpYy9hcHAuY3NzIiwic3RhdGljL2FwcC5zY3NzIiwiLi4vZ2xvYmFsL19mdW5jdGlvbnMuc2NzcyIsInN0YXRpYy9icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9nbG9iYWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBSTBJRSxpR0FBWTtBQ3BLaEI7Ozs7RUxnQ0U7QUt4QkY7RUFDRSxpREFBOEQ7RUFDOUQsMERBQThDLEVBQUE7O0FBR2hEO0VBQ0Usb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJDOEI2QjtFRDdCN0Isb0hBQzhELEVBQUE7O0FBR2hFOztFQUVFLGdCQUFnQixFQUFBOztBQUloQjtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMs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WTtJQzdCWixvQkR1QlU7SUN0QlYsa0JHdEJ3RDtJSHVCeEQsZ0JEVFM7SUNXVCxvQkRtQ1k7SUNqQ1IsZ0JSOUZTO0lRaUdULGdCREplLEVBQUE7RUNuQjNCO0lBMkJRLFNEQVE7SUNDUixjUHJIUztJT3NIVCxvQkRTVTtJQ1JWLGtCR3JDd0Q7SUhzQ3hELGdCRHZCUztJQ3lCVCxvQkRxQlksRUFBQTtFQ3REcEI7SUF5Q1EsU0RiTztJQ2VQLG9CR2xEd0Q7SUhtRHhELGdCRGhFUztJQ2lFVCxvQkR6RFU7SUM4RFYsb0JES1k7SUNBUixnQkQvREc7SUd1Q1gsa0JBQWtCO0lBRWxCLG9CQVg4RjtJQWdCOUYsa0JBQWtCLEVBQUE7SUFDbEI7TUFDSSxXQUFXO01BQ1gsV0FKc0g7TUFLdEgsV0g5RmdCO01HK0ZoQixrQkFBa0I7TUFRZCxTQWR5TDtNQW1CN0wsY0FBYztNQUNkLFlBQVk7TUFHWix1QkFBa0Q7TUFDbEQsbUJBQW1CO01BQ25CLHFCUmpJeUIsRUFBQTtNUXdJekI7UUE5Qko7VUFnQ1EsZ0NSMUlxQjtVUTJJckIsNkJSMUpTLEVBQUEsRVE0SmhCO0VGMUVMO0lBK0RRLGVEN0JZO0lDOEJaLGdCRG5DZTtJQ29DZixjUDFKUztJTzJKVCx5Qk54RjZEO0lNeUY3RCxtQkcxRXdEO0lIMkV4RCxnQkQxRFM7SUMyRFQsa0JBQWtCO0lBQ2xCLG9CRGxGVTtJQ3dGTixnQlJ0SlMsRUFBQTtJU3dKYjtNRDlFUjtRQStFWSxnQkRsRHFCLEVBQUEsRUNvRDVCOztBQUVMO0VBQ0ksU0FBUztFQUNULHVETmhCeUQ7RU1pQnpELG9CRzdGNEQ7RUg4RjVELGdCRGJZO0VDY1osY1BqTGEsRUFBQTtFTzRLakI7SUFhUSxXQUFXO0lBQ1gsU0RmTztJQ2dCUCxlRGxFWTtJQ21FWix5Qk56SDZEO0lNMEg3RCxrQkFBa0I7SUFDbEIsbUJHNUd3RDtJSDZHeEQsZ0JENUZTO0lDaUdMLGdCUnJMUztJUXVMYixvQkR6SFU7SUMwSFYsY1B2TVMsRUFBQTtFTzRLakI7SUE4QlEsa0JBQWtCO0lBQ2xCLGdCRC9CYztJQ2dDZCxpQkQ1QmM7SUM2QmQsb0JHM0h3RDtJSCtIeEQsb0JEcElVO0lDcUlWLGNQbE5TLEVBQUE7SU80S2pCO01Bd0NZLFdBQVc7TUFDWCxXQUFXO01BQ1gsV0RqTFk7TUNrTFosa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxTQUFTO01BQ1QsdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQk50TXFCLEVBQUE7O0FNME1qQztFQUNJLGNOcE5hO0VNcU5iLG1CR2hKNEQ7RUhpSjVELGdCRHF3Q087RUNwd0NQLHVETnRFeUQsRUFBQTs7QU04RTdEO0VBQ0ksY05oT2E7RU1pT2IsbUJHNUo0RDtFSDZKNUQsZ0JEMHZDTztFQ3p2Q1AsdURObEZ5RCxFQUFBOztBTTBGN0Q7RUFDSSxjTjVPYTtFTTZPYixvQkd4SzREO0VIeUs1RCxnQkQrdUNPO0VDOXVDUCx1RE45RnlELEVBQUE7O0FNd0c3RDtFQUdZLGNOL1BLO0VNZ1FMLG1CR3hMb0Q7RUh5THBELGdCQUFnQixFQUFBOztBQU01QjtFQUNJLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBRWxCLHFCQUFxQjtFQUVyQiwyQkFBcUI7TUFBckIsd0JBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQixTQUFTLEVBQUE7RUMzR0w7SURxR1I7TUFRUSxjQUFjO01BQ2QsaUJBQWlCLEVBQUEsRUFXeEI7RUN6SE87SURxR1I7TUFZWSxTQUFTLEVBQUEsRUFRcEI7RUN6SE87SURxR1I7TUFpQlksZ0JBQWdCLEVBQUEsRUFFdkI7O0FBS0w7RUFDSSxxQkQyZjBCO0VDeGYxQixpREFBd0Q7RUFDeEQsb0JEeWZ5QjtFQ3hmekIsb0JHN040RDtFSDhONUQsNENOckNrQjtFTXFDbEIsb0NOckNrQixFQUFBO0VNOEJ0QjtJQVNRLGNON0xNLEVBQUE7SU1vTGQ7TUFXWSxjTi9MRSxFQUFBO0VNb0xkO0lBZVEsY043TE0sRUFBQTtJTThLZDtNQWlCWSxjTi9MRSxFQUFBO0VNOEtkO0lBcUJRLGNON0xNLEVBQUE7SU13S2Q7TUF1QlksY04vTEUsRUFBQTtFTXdLZDtJQTJCUSxtQkdsUHdEO0lIbVB4RCxjUHJVUztJT3NVVCxlQUFlLEVBQUE7SUE3QnZCO01BK0JZLFlERkY7TUNHRSxpQkFBaUI7TUFDakIsbUNOM0orQjtNTTRKL0IsZUFBZSxFQUFBO0VBbEMzQjtJQXNDUSxtQkFBbUI7SUFDbkIsWURpMENvQixFQUFBO0VDeDJDNUI7SUE2Q1ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWix3Q0R5MkJrQztJQ3IyQmxDLGdCRDJnQk87SUMxZ0JQLGtCRG8zQnVCLEVBQUE7SUN4NkJuQztNQXNEZ0IsWUQvQk47TUNnQ00sa0JBQWtCO01BQ2xCLHdDRGcyQjhCO01DLzFCOUIsbUNObkwyQjtNTW9MM0Isb0JHalJnRDtNSGtSaEQsOEJOekZNO01NeUZOLHNCTnpGTSxFQUFBO0lNOEJ0QjtNQThEZ0IsMENEMjFCOEIsRUFBQTtNQ3o1QjlDO1FBZ0VvQiwwQ0R5MUIwQjtRQ3gxQjFCLDhCTmhHRTtRTWdHRixzQk5oR0UsRUFBQTtJTStCdEI7TUFxRWdCLHdDRHExQjZCLEVBQUE7TUMxNUI3QztRQXVFb0Isd0NEbTFCeUIsRUFBQTtFQzE1QjdDO0lBZ0ZZLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NEczBCa0M7SUNsMEJsQyxnQkR3ZU87SUN2ZVAsa0JEaTFCdUIsRUFBQTtJQ3g2Qm5DO01BeUZnQixZRG5FTjtNQ29FTSxrQkFBa0I7TUFDbEIsd0NENnpCOEI7TUM1ekI5QixtQ050TjJCO01NdU4zQixvQkdwVGdEO01IcVRoRCw4Qk41SE07TU00SE4sc0JONUhNLEVBQUE7SU04QnRCO01Ba0dnQiwwQ0R1ekI4QixFQUFBO01DejVCOUM7UUFvR29CLDBDRHF6QjBCO1FDcHpCMUIsOEJOcElFO1FNb0lGLHNCTnBJRSxFQUFBO0lNK0J0QjtNQXlHZ0Isd0NEaXpCNkIsRUFBQTtNQzE1QjdDO1FBMkdvQix3Q0QreUJ5QixFQUFBO0VDMTVCN0M7SUFvSFksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWix3Q0RreUJrQztJQzl4QmxDLGdCRG9jTztJQ25jUCxrQkQ2eUJ1QixFQUFBO0lDeDZCbkM7TUE2SGdC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UTFCO0VBelpMO0lBcVpZLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZUFBZSxFQUFBO0VKbFBuQjtJSXJLUjtNQTRaWSxZQUFZLEVBQUEsRUFRbkI7RUpwUUc7SUloS1I7TUF1YVksMkJBQW9CO01BQXBCLDJCQUFvQjtNQUFwQixvQkFBb0IsRUFBQSxFQUUzQjtFQXphTDtJQTRhWSxZTjFJTztJTTJJUCxpQ1h0UTJCO0lXdVEzQixlQUFlO0lBQ2YsY1g3WnFCO0lXOFpyQiw4Qlg1S1U7SVc0S1Ysc0JYNUtVLEVBQUE7RVdwUXRCO0lBb2JnQixjWjFiQztJWTJiRCw4QlhsTE07SVdrTE4sc0JYbExNLEVBQUE7RVduUXRCO0lBMmJnQixjWmxjQyxFQUFBO0VZT2pCO0lBaWNZLFlOM0lNO0lNNElOLGtCQUFrQjtJQUNsQixpQ1g1UjJCO0lXNlIzQixrQkZ6WG9EO0lFMFhwRCxjWG5icUI7SVdvYnJCLDhCWG5NVTtJV21NVixzQlhuTVUsRUFBQTtFV25RdEI7SUEwY1EscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjYnpINkQ7SWEwSDdELGdCQUFnQixFQUFBO0lKeFNoQjtNSXJLUjtRQStjWSxrQkFBa0IsRUFBQSxFQUV6QjtFSjVTRztJSXJLUjtNQXNkb0IsY0FBYyxFQUFBLEVBRXJCOztBQUliO0VBRVEsNkJYOWRhLEVBQUE7RVc0ZHJCO0lBSVksbUJOaTZCVztJTWg2Qlgsb0JGdFpvRDtJRXVacEQsZ0JOaTZCUTtJTWg2QlIsd0NOaTZCZ0M7SU1oNkJoQyxnQ1hyZHFCO0lXc2RyQixrQk5rNkJVLEVBQUE7SU0zNkJ0QjtNQVlnQixvQkY3WmdEO01FOFpoRCxnQk4wNUJJO01NejVCSix3Q04wNUI0QixFQUFBO0VNeDZCNUM7SUFtQlksZ0JBQWdCLEVBQUE7RUFuQjVCO0lBc0JZLG9CRnZhb0Q7SUV3YXBELGdCTnZkbUI7SU13ZG5CLHdDTmc1QmdDLEVBQUE7O0FNeDZCNUM7RUE0QlEsNkJYeGZhLEVBQUE7RVc0ZHJCO0lBOEJZLGlCTms1QlM7SU1qNUJULG1CRmhib0Q7SUVpYnBELGdCTms1QlE7SU1q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O0lBNkJJLHlEWnJLOEM7WVlxSzlDLGlEWnJLOEMsRUFBQTs7QVl5S2xEO0VBQ0UsYUFBYSxFQUFBOztBQUtmO0VKdEZJLHFDQUFnQztFQXVCNUIsV0lnRW9OO0VKaER4TixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaGFhO0VTaWFiLHlCSG9ka0U7RUduZGxFLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLc1JSO01KQVEsMEJJQ3dPO01KRHhPLHVCSUN3TztNSkR4TyxrQklDd087TUpBeE8sNENBQWtFLEVBQUEsRUlVekU7RUpMRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUM2NLO01TNmNELHFCUnpabUM7TVE2WnZDLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRqZVM7SVNtZUwscUJUbmVLO0lTdWVULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTtFWXVMdEI7SUp0RkkscUNBQWdDO0lBdUI1QixXSWtFZ047SUpsRHBOLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLG1EQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IzU1U7SVE0U1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSM1RNO0lRK1RWLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FKQVEsMEJJR29PO1FKSHBPLHVCSUdvTztRSkhwTyxrQklHb087UUpGcE8sNENBQWtFLEVBQUEsRUlHdkU7SUpFQztNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdFZFO1FRd1ZFLHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJIbVo4RDtNR2paMUQscUJIaVowRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VZdUx0QjtJSnRGSSxxQ0FBZ0M7SUF1QjVCLFdJcUVnTjtJSnJEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUnJTVTtJUXNTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixlQ2pWNEQ7SURrVjVELGdCSG1jZTtJR2xjZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlJyVE07SVF5VFYscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TUtzUlI7UUpBUSwwQklNb087UUpOcE8sdUJJTW9PO1FKTnBPLGtCSU1vTztRSkxwTyw0Q0FBa0UsRUFBQSxFSU12RTtJSkRDO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJoVkU7UVFrVkUscUJSbFZGO1FRc1ZGLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QkhtWjhEO01HaloxRCxxQkhpWjBEO01HN1k5RCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RVl1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0l3RTBNO0lKeEQ5TSxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNSL1JVO0lRZ1NWLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLGVDalY0RDtJRGtWNUQsZ0JIbWNlO0lHbGNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUi9TTTtJUW1UVixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNS3NSUjtRSkFRLDBCSVM4TjtRSlQ5Tix1QklTOE47UUpUOU4sa0JJUzhOO1FKUjlOLDRDQUFrRSxFQUFBLEVJU3ZFO0lKSkM7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUdqWjFELHFCSGlaMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QVlxTXRCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGVBQWU7RUFDZixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYyxFQUFBOztBQUtoQjtFSm5ISSxxQ0FBZ0M7RUF1QjVCLFdJNkY0TTtFSjdFaE4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhhYTtFU2lhYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS21UUjtNSjdCUSwwQkk4QmdPO01KOUJoTyx1Qkk4QmdPO01KOUJoTyxrQkk4QmdPO01KN0JoTyw0Q0FBa0UsRUFBQSxFSThCekU7RUp6Qkc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDNjSztNUzZjRCxxQlJ6Wm1DO01RNlp2QyxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUamVTO0lTbWVMLHFCVG5lSztJU3VlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZd050QjtFSnZISSxxQ0FBZ0M7RUF1QjVCLFdJaUdtTjtFSmpGdk4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhhYTtFU2lhYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUt1VFI7TUpqQ1EsMEJJa0N1TztNSmxDdk8sdUJJa0N1TztNSmxDdk8sa0JJa0N1TztNSmpDdk8sNENBQWtFLEVBQUEsRUlrQ3pFO0VKN0JHO0lBQ0k7TUFDSSxjVDFjSztNUzJjTCx5QkhpY3dEO01HL2JwRCxxQlQ3Y0M7TVNpZEwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVGxlUztJU29lTCxxQlRwZUs7SVN3ZVQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWTJOdEI7RUoxSEkscUNBQWdDO0VBdUI1QixXSW9HK007RUpwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Z0RWlFO0VVdUVqRSx5QlZ2RWlFO0VVd0VqRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJSzBUUjtNSnBDUSwwQklxQ21PO01KckNuTyx1QklxQ21PO01KckNuTyxrQklxQ21PO01KcENuTyw0Q0FBa0UsRUFBQSxFSXFDekU7RUpoQ0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVmpIeUQ7TVVtSHJELHFCVm5IcUQ7TVV1SHpELHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRsZVM7SVNvZUwscUJSMWRLO0lROGRULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVk4TnRCO0VKN0hJLHFDQUFnQztFQXVCNUIsV0l1R3VOO0VKdkYzTiwyQkl1RmdRO0VKdkZoUSwyQkl1RmdRO0VKdkZoUSxvQkl1RmdRO0VKckY1UCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGlEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlRoYWE7RVNpYWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUL2FTO0VTbWJiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLNlRSO01KdkNRLDBCSXdDMk87TUp4QzNPLHVCSXdDMk87TUp4QzNPLGtCSXdDMk87TUp2QzNPLDRDQUFrRSxFQUFBLEVJd0N6RTtFSm5DRztJQUNJO01BQ0ksY1R6Y0s7TVMwY0wseUJSamNLO01RbWNELHFCVDVjQztNU2dkTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1RqZVM7SVNrZVQseUJSeGRTO0lRMGRMLHFCVHBlSztJU3dlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZaU90QjtFSmhJSSxxQ0FBZ0M7RUF1QjVCLFdJMEcyTTtFSjFGL00sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhhYTtFU2lhYix5QlJqWmE7RVFrWmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtnVVI7TUoxQ1EsMEJJMkMrTjtNSjNDL04sdUJJMkMrTjtNSjNDL04sa0JJMkMrTjtNSjFDL04sNENBQWtFLEVBQUEsRUkyQ3pFO0VKdENHO0lBQ0k7TUFDSSxjVDFjSztNUzJjTCx5QlI5WXlEO01RZ1pyRCxxQlQ3Y0M7TVNpZEwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNUamVTO0lTa2VULHlCUnhkUztJUTBkTCxxQlRwZUs7SVN3ZVQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXFPdEI7RUpwSUkscUNBQWdDO0VBdUI1QixXSThHNEw7RUo5RmhNLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RoYWE7RVNpYWIsNkJSMVppQjtFUTJaakIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUaGJTO0VTb2JiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lLeVVSO01KbERZLG9EQUFvRSxFQUFBLEVJb0QvRTtFTHRVTztJS29VUjtNSjlDUSwwQkkrQ2dOO01KL0NoTix1QkkrQ2dOO01KL0NoTixrQkkrQ2dOO01KOUNoTixtREFBa0UsRUFBQSxFSStDekU7RUoxQ0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDNjSztNUzZjRCxxR0hvaUJxQztNR2hpQnpDLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUjdhMkM7SVE4YTNDLHlCVGplUztJU21lTCxxQlJoYnVDO0lRb2IzQyw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZd090QjtFQUNFLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixvQkh0YThEO0VHdWE5RCxnQlA4ZmtDLEVBQUE7RU9wZ0JwQztJQVdJLFlQdE9PO0lPdU9QLGVQNnlCNEI7SU81eUI1QixpQ1psVm1DO0lZbVZuQyxtQkFBbUIsRUFBQTtFQWR2QjtJQWlCSSxxQkFBcUIsRUFBQTs7QUFLekI7RUFDRSxrQkFBa0I7RUFDbEIsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUhyQjtJQU1JLFlQNUdnQjtJTzZHaEIsZ0JBQWdCO0lBQ2hCLGNaL2U2QjtJWWdmN0IsaUNacFdtQztJWXFXbkMsVUFBVSxFQUFBO0VBVmQ7SUFjSSx3QkFBaUQ7SUFDakQseUJBQWtEO0lBQ2xELGtCQUFrQjtJQUNsQixTQUE4QjtJQUM5QixVQUErQjtJQUMvQixZQU55QjtJQU96QiwwQ1o3Z0JhO0lZOGdCYixjWmpoQmE7SVlraEJiLGtCQUFrQjtJQUNsQixvQkg5YzREO0lHK2M1RCxnQkFBZ0IsRUFBQTs7QUFTcEI7RUo5TEkscUNBQWdDO0VBdUI1QixXSXdLa0s7RUp4SnRLLG9CSXdKb007RUp4SnBNLG9CSXdKb007RUp4SnBNLGFJd0pvTTtFSnRKaE0seUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFHdkIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFHaEIsa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSw0REFBK0M7RUFDL0MsY1JuWmE7RVFvWmIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSXVJaUo7RUp0SWpKLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFUTBRZDs7Ozs7Ozs7U1oyeUdDLEVZbnlHQztFRGpYRjtJSzhYUjtNSnhHUSwwQkl5R3NMO01Kekd0TCx1Qkl5R3NMO01Kekd0TCxrQkl5R3NMO01KeEd0TCw0Q0FBa0UsRUFBQSxFSXlHekU7RUpwR0c7SUFDSTtNQUNJLGNUMWNLO01TMmNMLHlCUnhZeUQ7TVEwWXJELHFCVDdjQztNU2lkTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RME1OO1FBQ0MsY1RyZEE7UVNzZEEsOEJSNU1LO1FRNE1MLHNCUjVNSyxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUbGVTO0lTc2VMLHFCVHRlSztJU3dlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7SVFnT1Y7TUFDQyxjUmplSSxFQUFBO0VRcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VRaVI3QztJQUNJLFlIektFO0lHMEtGLGtCSHVxSFE7SUd0cUhSLGlDUjFYMkI7SVEyWDNCLGVINHFIQTtJR3ZxSEEsY1IxZnVDO0lRMmZ2Qyw4QlJwU1U7SVFvU1Ysc0JScFNVLEVBQUE7RVF1U2xCO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWW1TdEI7RUFDRSxTQUFTO0VBQ1QsYVA2cUJ3QztFTzVxQnhDLG9CSC9kOEQ7RUdnZTlELGdCUDZxQjJDO0VPNXFCM0MsY1poZm1FLEVBQUE7RVkyZXJFO0lBT0ksZ0JBQWdCLEVBQUE7O0FBSXBCO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsYVBrcUJ3QztFT2pxQnhDLG9CSDFlOEQ7RUcyZTlELGdCQUFnQjtFQUNoQixjWjNmbUU7RVk0Zm5FLHlCWnhnQmlEO0VZeWdCakQseUJaN2ZtRSxFQUFBO0VZc2ZyRTtJQVNNLGNibGtCVztJYW1rQlgseUJaaGdCK0Q7SVlpZ0IvRCxxQmJwa0JXLEVBQUE7SWF5akJqQjtNQWFVLGNidGtCTyxFQUFBO0VheWpCakI7SUFpQk0sY2J6a0JXO0lhMGtCWCx5Qlpqa0JXO0lZa2tCWCxxQlpsa0JXLEVBQUE7SVkraUJqQjtNQXFCVSxjYjdrQk8sRUFBQTtFYXdqQmpCO0lBeUJNLFlQaE5vQjtJT2lOcEIsaUJQcXJCd0M7SU9wckJ4Qyx1Qlp4WDRCO0lZeVg1QixlUGtyQnNDO0lPanJCdEMsY1puaEIrRCxFQUFBOztBWXVoQnJFO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG9CSDlnQjhEO0VHK2dCOUQsZ0JBQWdCO0VBQ2hCLGNaM2lCaUQ7RVk0aUJqRCx5Qlo3a0IrQjtFWThrQi9CLHdFWnpWb0I7RVl5VnBCLGdFWnpWb0IsRUFBQTtFTy9GZDtJSzhhUjtNQVlNLGdCQUFnQjtNQUNoQixrQkhyaEIwRCxFQUFBLEVHcWpCL0Q7RUE3Q0Q7SUFnQk0sY1pobUJXO0lZaW1CWCx5QmIzbUJXO0lhNG1CWCxxQmI1bUJXO0lhNm1CWCx3RVpuV2dCO0lZbVdoQixnRVpuV2dCLEVBQUE7SVlnVnRCO01BcUJVLGNacm1CTztNWXNtQlAsOEJadFdZO01Zc1daLHNCWnRXWSxFQUFBO0VZZ1Z0QjtJQTBCTSxjYnBuQlc7SWFxbkJYLHlCWmxqQitEO0lZbWpCL0QscUJidG5CVyxFQUFBO0lhMGxCakI7TUE4QlUsY2J4bkJPLEVBQUE7RWEwbEJqQjtJQWtDTSxZUDFQb0I7SU8yUHBCLGlCQUFpQjtJQUNqQix1QlpsYTRCO0lZbWE1QixlQUFlO0lBQ2YsY1p6a0I2QztJWTBrQjdDLDhCWnRYZ0I7SVlzWGhCLHNCWnRYZ0IsRUFBQTtJTy9GZDtNSzhhUjtRQXlDVSxnQkFBZ0I7UUFDaEIsZUFBZSxFQUFBLEVBRXRCOztBQUdIO0VKN1JJLHFDQUFnQztFQXVCNUIsV0l1UWtPO0VKdlB0TyxvQkl1UHlRO0VKdlB6USxvQkl1UHlRO0VKdlB6USxhSXVQeVE7RUpyUHJRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaGFhO0VTaWFiLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVEwUWQ7Ozs7Ozs7O1NaczhHQyxFWTk3R0M7RUR0WEY7SUtrZVI7TUozTVksNkNBQW9FLEVBQUEsRUk2TS9FO0VML2RPO0lLNmRSO01Kdk1RLDBCSXdNc1A7TUp4TXRQLHVCSXdNc1A7TUp4TXRQLGtCSXdNc1A7TUp2TXRQLDRDQUFrRSxFQUFBLEVJd016RTtFSm5NRztJQUNJO01BQ0ksY1QxY0s7TVMyY0wseUJIaWN3RDtNRy9icEQscUJUN2NDO01TaWRMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVEwTU47UUFDQyxjVHJkQTtRU3NkQSw4QlI1TUs7UVE0TUwsc0JSNU1LLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRsZVM7SVNvZUwscUJUcGVLO0lTd2VULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtJUWdPVjtNQUNDLGNUM2VJLEVBQUE7RVMrZWI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVFpUjdDO0lBQ0ksWUhuS0M7SUdvS0Qsa0JIOHNDUTtJRzdzQ1IsaUNSMVgyQjtJUTJYM0IsZUgrc0NBO0lHMXNDQSxjUjFmdUM7SVEyZnZDLDhCUnBTVTtJUW9TVixzQlJwU1UsRUFBQTtFUXVTbEI7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa1l0QjtFQUVJLFlQNVFTO0VPNlFULGtCQUFrQjtFQUNsQixpQ1puZW1DLEVBQUE7O0FZeWV2QztFSjNTSSxxQ0FBZ0M7RUF5QjVCLFdJbVJnSTtFSnJRcEksb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLCtDQUErQztFQUUvQyx5QkhvdEhnQjtFR250SGhCLGlCSCtjNEI7RUc5YzVCLG9CQ2pWNEQ7RURrVjVELGdCSW9Qc0g7RUpuUHRILGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVdYLHFCUmxhUztFUW9hYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVk4WWxCLGtCWm5aZTtF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UDQyQjBCO0lPMzJCMUIsY1p0dkIrQztJWXV2Qi9DLDhCWmhpQmtCO0lZZ2lCbEIsc0JaaGlCa0IsRUFBQTtFWW9pQmhCO0lBQ0ksZUFBZTtJQUNmLGNiaHpCTztJYWl6QlAsNEJaeGlCWTtJWXdpQlosb0JaeGlCWSxFQUFBO0VZNGlCaEI7SUFDRSxjYnZ6QlMsRUFBQTtFYTJ6QmY7SUFDRSxtQkFBbUIsRUFBQTtJQUNuQjtNQUNFLGNacHpCVyxFQUFBOztBWTB6QmpCO0VKeGRJLHFDQUFnQztFQXlCNUIsV0lvYzhMO0VKdGJsTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCUjdXK0M7RVE4Vy9DLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI1WDJDO0VRZ1kvQyxxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3dwQlI7TUpsWVEsV0l1WThMO01KdFk5TCw0Q0FBa0UsRUFBQSxFSXVZdkU7RUpsWUM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDFjSztNUzRjRCxxQlQ1Y0M7TVNnZEwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUVJLHlCVGxlUztJU29lTCxxQlRwZUs7SVN3ZVQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWWtrQnRCO0VBaERFLFdQczNCNkI7RU9yM0I3QixZUHEzQjZCO0VPcDNCN0Isa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUdyQiw2Qlo1eEJtQjtFWTZ4Qm5CLGVBQWU7RUFDZix5Q1oxaEJvQjtFWTBoQnBCLGlDWjFoQm9CLEVBQUE7RVkyaEJwQjtJQUNFLFlQamdCYTtJT2tnQmIsaUNaMW5CbUM7SVkybkJuQyxlUDQyQjBCO0lPMzJCMUIsY1p0dkIrQztJWXV2Qi9DLDhCWmhpQmtCO0lZZ2lCbEIsc0JaaGlCa0IsRUFBQTtFWW9pQmhCO0lBQ0ksZUFBZTtJQUNmLGNiaHpCTztJYWl6QlAsNEJaeGlCWTtJWXdpQlosb0JaeGlCWSxFQUFBO0VZNGlCaEI7SUFDRSxjYnZ6QlMsRUFBQTtFYTJ6QmY7SUFDRSxtQkFBbUIsRUFBQTtJQUNuQjtNQUNFLGNacHpCVyxFQUFBOztBWXUwQmpCO0VKcmVJLHFDQUFnQztFQXlCNUIsV0k4YzhMO0VKaGNsTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCUjdXK0M7RVE4Vy9DLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI1WDJDO0VRZ1kvQyxxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUovWVEsV0lpWjhMO01KaFo5TCw0Q0FBa0UsRUFBQSxFSWladkU7RUo1WUM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDFjSztNUzRjRCxxQlQ1Y0M7TVNnZEwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUVJLHlCVGxlUztJU29lTCxxQlRwZUs7SVN3ZVQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXNrQnRCO0VKcmVJLHFDQUFnQztFQXlCNUIsWUlpZGdOO0VKbmNwTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaGFhO0VTaWFiLHlCSG9ka0U7RUduZGxFLGlCSCtjNEI7RUc5YzVCLHFCQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUovWVEsWUlvWmdOO01KblpoTiw0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Z05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUamVTO0lTbWVMLHFCVG5lSztJU3VlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZbXBCdEI7RUpsakJJLHFDQUFnQztFQXVCNUIsV0k2aEJ5TztFSjlnQjdPLFlIbVB3QjtFR2xQeEIsb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhhYTtFU2lhYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS2t2QlI7TUo1ZFEsV0k4ZHNQO01KN2R0UCw0Q0FBa0UsRUFBQSxFSThkdkU7RUp6ZEM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDNjSztNUzZjRCxxQlJ6Wm1DO01RNlp2QyxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUamVTO0lTbWVMLHFCVG5lSztJU3VlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZMHBCdEI7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBO0VBRGY7SUp6akJJLHFDQUFnQztJQXVCNUIsV0lxaUIrTTtJSnRoQm5OLFlIbVB3QjtJR2xQeEIsb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVGhhYTtJU2lhYix5QkhvZGtFO0lHbmRsRSxpQkgrYzRCO0lHOWM1QixlQ2pWNEQ7SURrVjVELGdCSG1jZTtJR2xjZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVk4cEJsQixtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWSxFQUFBO0lMN3ZCUjtNS3l2QlI7UUpuZVEsV0lzZTROO1FKcmU1Tiw0Q0FBa0UsRUFBQSxFSXVldkU7SUpsZUM7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCVDNjSztRUzZjRCxxQlJ6Wm1DO1FRNlp2QyxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUamVTO01TbWVMLHFCVG5lSztNU3VlVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7O0FZb3FCdEI7RUFJTSxjZHpsQitEO0VjMGxCL0QsWVA2dEJzQjtFTzV0QnRCLG1CQUFtQixFQUFBO0VBTnpCO0lBUVEsbUNaeHdCbUM7SVl5d0JuQyxjZDlsQjZELEVBQUE7O0FjcWxCckU7RUFhTSxZUG5vQmtCO0VPb29CbEIsY2I1N0JXO0VhNjdCWCxlUHV0QndCO0VPdHRCeEIsbUNaaHhCcUM7RVlpeEJyQyw4QlpyckJnQjtFWXFyQmhCLHNCWnJyQmdCLEVBQUE7O0FZb3FCdEI7RUFxQlEsY2JuOEJTO0VhbzhCVCxpQ1p2eEIrQjtFWXd4Qi9CLDhCWjVyQmM7RVk0ckJkLHNCWjVyQmMsRUFBQTs7QVlxcUJ0QjtFQTRCUSxjYjE4QlM7RWEyOEJULGlDWjl4QitCLEVBQUE7O0FZaXdCdkM7RUFtQ00saUNacHlCaUMsRUFBQTs7QVlpd0J2QztFQXdDTSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VBM0N6QjtJQTZDVSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixTQUFTO0lBQ1QsMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFDckIsbUJIOTRCc0Q7SUcrNEJ0RCxnQlBpdUIrQjtJT2h1Qi9CLGNacjlCTztJWXM5QlAsa0JBQWtCO0lBSWxCLDhCWjV0Qlk7SVk0dEJaLHNCWjV0QlksRUFBQTtJWW9xQnRCO01BMERZLGNieCtCSztNYXkrQkwsOEJaaHVCVTtNWWd1QlYsc0JaaHVCVSxFQUFBOztBWXFxQnRCO0VBbUVjLHFCQUFxQixFQUFBOztBQW5FbkM7RUF1RVUsV1A2cEJxQjtFTzVwQnJCLFlQNHBCcUI7RU8zcEJyQixrQkFBa0I7RUFDbEIsY0FBYyxFQUFBO0VBMUV4QjtJQTRFYyxXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtFQWhGakM7SUFtRmMscUJBQXFCLEVBQUE7O0FBU25DO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUdFLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsb0JBQW1CO0VBQ25CLG1CQUFPO01BQVAsV0FBTztVQUFQLE9BQU87RUFDUCxVQUFVLEVBQUE7O0FBRVY7RUFURjtJQVVJLDZCQUE2QixFQUFBLEVBRWhDOztBQUlEO0VBQ0Usa0JBQWtCO0VBQ2xCLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBRXBCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixpQkFBaUIsRUFBQTtFTDkzQlg7SUt3M0JSO01BU0ksbUJBQWU7VUFBZixlQUFlLEVBQUEsRUFvckJsQjtFTGhqRE87SUttM0JSO01BWUksMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUIsRUFBQSxFQWlyQnhCO0VBN3NCRDtJQWdDSSxXQUFXO0lBQ1gsa0JBQWtCLEVBQUE7RUFqQnRCO0lBeUJNLHlCWjlpQ1c7SVkraUNYLHFCZC90QitEO0ljZ3VCL0QsMERBQWtEO1lBQWxELGtEQUFrRDtJQUNsRCxxRlpqekJnQjtJWWl6QmhCLDZFWmp6QmdCO0lZaXpCaEIscUVaanpCZ0I7SVlpekJoQiw4RlpqekJnQixFQUFBO0VZcXhCdEI7SUFvQ00scUJabDhCUTtJWW04QlIseUJkMXVCK0QsRUFBQTtJY3FzQnJFO01BdUNRLGNacjhCTSxFQUFBO0VZODVCZDtJQTRDUSxxQmRqdkI2RDtJY2t2QjdELHlCWmxrQ1M7SVlta0NULHlDWm4wQmM7SVltMEJkLGlDWm4wQmMsRUFBQTtFWXF4QnRCO0lBcURNLHFCZDF2QitEO0ljMnZCL0QseUJaM2tDVztJWTRrQ1gsMERBQWtEO1lBQWxELGtEQUFrRCxFQUFBO0VBdkR4RDtJQTRESSxpQlBqYmlCLEVBQUE7RU9xWHJCO0lBaUVJLFlQM2R3QjtJTzRkeEIsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHlCWjFsQ2E7SVkybENiLDJCQUEyQjtJQUMzQixxQmQ1d0JpRTtJYzZ3QmpFLG1CQUFtQjtJQVNuQixxRlpyMkJrQjtJWXEyQmxCLDZFWnIyQmtCO0lZcTJCbEIscUVacjJCa0I7SVlxMkJsQiw4RlpyMkJrQjtJWXMyQmxCLFVBQVUsRUFBQTtJQWxGZDtNQW9GTSw0RFp6MkJnQjtNWXkyQmhCLG9EWnoyQmdCLEVBQUE7SVlxeEJ0QjtNQXVGTSxtQkFBbUIsRUFBQTtJQXZGekI7TUEwRk0sb0JBQW9CLEVBQUE7RUExRjFCO0lBOEZJLDhCWmwzQmtCO0lZazNCbEIsc0JabDNCa0IsRUFBQTtFWW94QnRCO0lBb0dRLGNibm9DUztJYW9vQ1QsOEJaMTNCYztJWTAzQmQsc0JaMTNCYyxFQUFBO0VZcXhCdEI7SUF3R1EseURacjNCMEM7WVlxM0IxQyxpRFpyM0IwQztJWXMzQjFDLDJDWjkzQmM7SVk4M0JkLG1DWjkzQmM7SVk4M0JkLDJCWjkzQmM7SVk4M0Jk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Qy9ELGdCZHhpRGU7SWMwaURqQiw0RFo5eUNrQjtJWTh5Q2xCLG9EWjl5Q2tCLEVBQUE7SVlveEJ0QjtNQTRoQk0sV0FBVztNQUNYLHlCQUFxRDtNQUNyRCwwQkFBc0Q7TUFDdEQsa0JBQWtCO01BQ2xCLE1BQU07TUFDTixPQUFPO01BQ1AsU0FBUztNQUNULFFBQVE7TUFDUixZQUFZO01BQ1osNEJadmdEK0Q7TVl5Z0Q3RCxnQmR2akRhO01jeWpEZixxQ1o3ekNnQjtNWTZ6Q2hCLDZCWjd6Q2dCLEVBQUE7SU8vRmQ7TUttM0JSO1FBNGlCTSx1QkFBK0M7UUFDL0Msa0JBQWtCLEVBQUEsRUF5SHJCO0lBdHFCSDtNQWdqQk0sNkJaeGtEZTtNWXlrRGYscUJiaGxEVztNYWlsRFgsNERadjBDZ0I7TVl1MENoQixvRFp2MENnQixFQUFBO01ZcXhCdEI7UUFvakJRLHFCYm5sRFM7UWFvbERULHFDWjEwQ2M7UVkwMENkLDZCWjEwQ2MsRUFBQTtNWXF4QnRCO1FBd2pCUSxjYnZsRFM7UWF3bERULDhCWjkwQ2M7UVk4MENkLHNCWjkwQ2MsRUFBQTtNWXF4QnRCO1FBNGpCUSxjYjNsRFMsRUFBQTtJYStoQ2pCO01BZ2tCTSx5Q1ozaUQ2QztNWTRpRDdDLG9DYmhtRFcsRUFBQTtNYStoQ2pCO1FBbWtCUSxvQ2JsbURTLEVBQUE7SWEraENqQjtNQXdrQlEsWVBud0NlO01Pb3dDZiw2QmJ4bURTLEVBQUE7SWEraENqQjtNQTZrQk0scUJaMytDUTtNWTQrQ1IseUJkbnhDK0QsRUFBQTtNY3FzQnJFO1FBZ2xCUSxxQlo5K0NNLEVBQUE7TVk4NUJkO1FBbWxCUSxjQUFjLEVBQUE7TUFubEJ0QjtRQXVsQlUsWVBqeENPO1FPcXhDUCxjWnovQ0ksRUFBQTtNWTg1QmQ7UUErbEJRLGNaNy9DTSxFQUFBO0lZODVCZDtNQW1tQk0sV0FBVztNQUNYLGlCUHhrQ2E7TU95a0NiLGtCQUFrQjtNQUNsQixlSG5qRDBEO01Hb2pEMUQsZ0JQdmtDNEI7TU93a0M1QixjYnZvRFc7TWF3b0RYLDhCWjczQ2dCO01ZNjNDaEIsc0JaNzNDZ0IsRUFBQTtNTy9GZDtRS20zQlI7VUEybUJRLFlBQXFELEVBQUEsRUFFeEQ7SUE3bUJMO01BK21CTSxvQkFBb0I7TUFDcEIsY0FBYztNQUNkLG1CQUFtQixFQUFBO01Bam5CekI7UUFtbkJRLFlQL3lDUztRT2d6Q1QsaUNacitDK0I7UVlzK0MvQixlQUFlO1FBQ2YsY2JycERTLEVBQUE7TWEraENqQjtRQXluQlEsaUJBQWlCLEVBQUE7SUF6bkJ6QjtNQTZuQk0sa0JQam1DUTtNT2ttQ1IsVUFBVSxFQUFBO01Mai9DUjtRS20zQlI7VUFnb0JRLG1CUG5tQ08sRUFBQSxFT3FtQ1Y7SUFsb0JMO01Bb29CTSxpQkFBaUI7TUFDakIsb0JIbGxEMEQ7TUdtbEQxRCxnQkFBZ0IsRUFBQTtJQXRvQnRCO01BeW9CTSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFlBQVk7TUFDWixhQUFhO01BQ2IsZUFBZTtNQUNmLFVBQVUsRUFBQTtNQS9vQmhCO1FBaXBCUSwwQkFBMEIsRUFBQTtNQWpwQmxDO1FBb3BCUSxZUDkwQ1M7UU8rMENULGlCQUFpQjtRQUNqQixpQ1p2Z0QrQjtRWXdnRC9CLGVBQWU7UUFDZixjWnJwRHlCLEVBQUE7SVk2L0JqQztNQTRwQk0sV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87TUFDUCxVQUFVO01BQ1YsVUFBVTtNQUNWLGVBQWU7TUFDZixVQUFVLEVBQUE7RUFwcUJoQjtJQXlxQk0sWVBua0NzQixFQUFBO0lPMFo1QjtNQTJxQlEsWVBya0NvQjtNT3NrQ3BCLGNBQWMsRUFBQTtFQTVxQnRCO0lBb3JCSSxpQkFBaUIsRUFBQTtFQXByQnJCO0lBeXJCUSx3Q0FBZ0M7WUFBaEMsZ0NBQWdDLEVBQUE7O0FBTXhDO0VBR00sV1BrRndCLEVBQUE7O0FPckY5QjtFQU9JLGtCUCtFaUMsRUFBQTs7QU8zRXJDO0VBQ0U7SUFDRSx1Q1p6c0Q2QjtJWTBzRDdCLGNabHVEYSxFQUFBO0VZb3VEZjtJQUNFLHlCYjl1RGE7SWErdURiLGNadHVEYSxFQUFBLEVBQUE7O0FZK3REakI7RUFDRTtJQUNFLHVDWnpzRDZCO0lZMHNEN0IsY1psdURhLEVBQUE7RVlvdURmO0lBQ0UseUJiOXVEYTtJYSt1RGIsY1p0dURhLEVBQUEsRUFBQTs7QU82SlQ7RUs2a0RSO0lBSU0sMEJBQWtDLEVBQUEsRUFvQnZDOztBQXhCRDtFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPb3NDbkM7RUFTSSxjWjN0RDZCO0VZNHREN0Isb0JINXFENEQ7RUc2cUQ1RCxnQlAvc0MrQixFQUFBOztBT29zQ25DO0VBU0ksY1ozdEQ2QjtFWTR0RDdCLG9CSDVxRDREO0VHNnFENUQsZ0JQL3NDK0IsRUFBQTs7QU9vc0NuQztFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPb3NDbkM7RUFTSSxjWjN0RDZCO0VZNHREN0Isb0JINXFENEQ7RUc2cUQ1RCxnQlAvc0MrQixFQUFBOztBTzh0Q25DO0VBRUUsWVAzb0MwQjtFTzRvQzFCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osV0FBVztFQUNYLG1CQUFtQjtFQUVuQixpQkFBaUI7RUFNYixzQmQ1d0RlO0VjK3dEbkIsU0FBUztFQUNULHFDWnBoRG9CO0VZb2hEcEIsNkJacGhEb0IsRUFBQTtFT3BHZDtJS3VtRFI7TUF1QkksV0FBVztNQUNYLDJCUGhFcUMsRUFBQSxFT3VKeEM7RUEvR0Q7SUEyQkkscUJaeHFEVTtJWXlxRFYseUJkaDlDaUU7SWNpOUNqRSxVQUFVLEVBQUE7SUE3QmQ7TUErQlEsY1o1cURNLEVBQUE7SVk2b0RkO01Ba0NRLGNadHlEUztNWXV5RFQsOEJadmlEYztNWXVpRGQsc0JadmlEYyxFQUFBO0VZb2dEdEI7SUF1Q0ksV0FBVztJQUVYLFlQbHJDd0I7SU9vckN0QixlUGpIWTtJT21IZCxjUGhIMEI7SU9pSDFCLHlCWmx6RGE7SVltekRiLG1CQUFtQjtJQUNuQixxQmRwK0NpRTtJY3MrQ2pFLGlCQUFpQjtJQUNqQiw2QmJqMERhO0lhazBEYixlQUFlO0lBV1gsc0JBQTBHO0lBRzlHLHlDWnJrRGtCO0lZcWtEbEIsaUNacmtEa0IsRUFBQTtJT3BHZDtNS3VtRFI7UUFvRU0sMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsU1AxSU87UU8ySVAsMkJQNUgrQixFQUFBLEVPb0tsQztJQTlHSDtNQTBFUSxZUDNnREU7TU80Z0RGLFdQbkowQjtNT29KMUIsY0FBYztNQUNkLFlBQVk7TUFDWixpQ1o5cUQrQjtNWStxRC9CLGVBQWU7TUFDZiw2QmI5MURTO01hKzFEVCw4QlpwbERjO01Zb2xEZCxzQlpwbERjLEVBQUE7SVltZ0R0QjtNQXNGUSxjWjExRFM7TVkyMURULHFCZDNnRDZEO01jNGdEN0Qsd0NidDJEUztNYXUyRFQseUNaN2xEYztNWTZsRGQsaUNaN2xEYyxFQUFBO01Zb2dEdEI7UUE0RlksY1poMkRLLEVBQUE7SVlvd0RqQjtNQW1HTSxjWnYyRFc7TVl3MkRYLHFCZHhoRCtEO01jeWhEL0QseUJibDNEVztNYW0zRFgseUNaMW1EZ0I7TVkwbURoQixpQ1oxbURnQixFQUFBO01Zb2dEdEI7UUF5R1UsY1o3MkRPLEVBQUE7O0FZczNEakI7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQ1p6bkRvQjtFWXluRHBCLDJCWnpuRG9CLEVBQUE7RVlxbkR0QjtJQU1JLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIseUJaOTNEYTtJWSszRGIsbUNaL25Ea0I7SVkrbkRsQiwyQlovbkRrQixFQUFBOztBWXFvRHRCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFQURmO0lBS0ksNkJaNzREaUIsRUFBQTtJWXc0RHJCO01BT00sY2J0NURXLEVBQUE7SWF3NURiO01BVEo7UUFXUSx5QlpoNURTLEVBQUE7UVlxNERqQjtVQWFVLGNiMzVE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TVF3akJGLGdCSHRJaUI7TUd1SWpCLG9CQ3htQm9ELEVBQUE7RUQybUI1RDtJQUNJLGNSN2pCTTtJUThqQk4sZ0JINUlxQjtJRzZJckIsb0JDOW1Cd0QsRUFBQTtFRGduQjVEO0lBQ0ksMEJBQTBCLEVBQUE7O0FJdWtEbEM7RUFFSSx5QmRsN0RpRTtFY203RGpFLHFCWjVvRVU7RVk2b0VWLDREWnBnRWtCO0VZb2dFbEIsb0RacGdFa0IsRUFBQTtFWWdnRXRCO0lBTU0scUJkdDdEK0QsRUFBQTtFY2c3RHJFO0lBU00sY1pscEVRO0lZbXBFUiw4QloxZ0VnQjtJWTBnRWhCLHNCWjFnRWdCLEVBQUE7RVlnZ0V0QjtJQVNNLGNabHBFUTtJWW1wRVIsMkJaMWdFZ0I7SVkwZ0VoQixzQloxZ0VnQixFQUFBO0VZZ2dFdEI7SUFTTSxjWmxwRVE7SVltcEVSLDBCWjFnRWdCO0lZMGdFaEIsc0JaMWdFZ0IsRUFBQTtFWWdnRXRCO0lBU00sY1pscEVRO0lZbXBFUiwwQloxZ0VnQjtJWTBnRWhCLHNCWjFnRWdCLEVBQUE7RVlnZ0V0QjtJQVNNLGNabHBFUTtJWW1wRVIsOEJaMWdFZ0I7SVkwZ0VoQixzQloxZ0VnQixFQUFBO0VZZ2dFdEI7SUFhTSx5QmQ3N0QrRDtJYzg3RC9ELHFCWnZwRVE7SVl3cEVSLGNaeHBFUSxFQUFBO0lZeW9FZDtNQWlCUSxjWjFwRU0sRUFBQTtFWXlvRWQ7SUFxQk0seUJkcjhEK0Q7SWNzOEQvRCx5QlovcEVRO0lZZ3FFUixxQ1p2aEVnQjtJWXVoRWhCLDZCWnZoRWdCLEVBQUE7O0FZNmhFdEI7RUFDRTtJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsbUNBQW1DLEVBQUE7RUFHckM7SUFDRSxpQ0FBaUMsRUFBQTtFQUduQztJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsaUNBQWlDLEVBQUE7RUFHbkM7SUFDRSxpQ0FBaUMsRUFBQSxFQUFBOztBQXRCckM7RUFDRTtJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsbUNBQW1DLEVBQUE7RUFHckM7SUFDRSxpQ0FBaUMsRUFBQTtFQUduQztJQUNFLGtDQUFrQyxFQUFBO0VBR3BDO0lBQ0UsaUNBQWlDLEVBQUE7RUFHbkM7SUFDRSxpQ0FBaUMsRUFBQSxFQUFBOztBQUdyQztFQUNFLFdBQVc7RUFDWCxjWnJ6RWU7RVlzekVmLGdCUGp1RDJCLEVBQUE7O0FPb3VEN0I7RUFJUSxjYjEwRVMsRUFBQTs7QWFzMEVqQjtFQU9RLGNiNTBFUyxFQUFBOztBYXEwRWpCO0VBWUksY1pyMEVhO0VZczBFYixnQlBqdkR5QixFQUFBOztBT291RDdCO0VBa0JNLGtCQUFrQjtFQUlsQixZUHZ0RHNCLEVBQUE7RUU5ZHBCO0lLK3BFUjtNQXdCUSxXQUFXO01BQ1gsbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVksRUFBQSxFQUVmOztBQTNCTDtFQWlDTSxxQlp0dUVRLEVBQUE7O0FZcXNFZDtFQW9DTSxxQmRoaEUrRCxFQUFBOztBYzQrRHJFO0VBdUNNLHFCZG5oRStEO0Vjb2hFL0QseUJacDJFVyxFQUFBOztBWTIyRWpCLDBDQUFBO0FBSUEsK0JBQUE7QUFPQTtFQUNFLFdBQVcsRUFBQTs7QUFVYjtFQUNFLGFBQWE7RUFDYixjWjV3RVksRUFBQTtFWTB3RWQ7SUFJTSxjQUFjLEVBQUE7O0FBSXBCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQixFQUFBO0VMOXVFWjtJSzR1RVI7TUFJTSxZQUFZO01BQ1osa0JBQWtCLEVBQUEsRUFjdkI7RUwxdkVPO0lLdXVFUjtNQVNNLFlQdnhEc0IsRUFBQSxFT3l4RHpCO0VBWEg7SUFhSSx5Qlo1MkUrQztJWTYyRS9DLGNadjVFYSxFQUFBO0VZeTRFakI7SUFpQkksbUJBQW1CLEVBQUE7O0FBSXZCO0VKNWpFSSxxQ0FBZ0M7RUF1QjVCLFdJdWlFb1E7RUp2aEV4USxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSblphO0VRb1piLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixvQkNqVjREO0VEa1Y1RCxnQkg0SStCO0VHM0kvQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlJ2WnlCO0VRMlo3QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJS2l3RVI7TUoxK0RZLHNEQUFvRSxFQUFBLEVJNitEL0U7RUwvdkVPO0lLNHZFUjtNSnQrRFEsV0l3K0RnUDtNSnYrRGhQLHFEQUFrRSxFQUFBLEVJdytEekU7RUpuK0RHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlQxY0s7TVM0Y0QscUJUNWNDO01TZ2RMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlI5YTJDO0lRa2J2QyxxQlJsYnVDO0lRb2IzQyw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa3FFdEI7RUFDRSxXQUFXLEVBQUE7RUFEYjtJQUdJLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0IsRUFBQTtJQVBwQjtNQVNNLGNidDdFVztNYXU3RVgsZ0JBQWdCLEVBQUE7SUFWdEI7TUFjUSxtQkFBbUIsRUFBQTtFQWQzQjtJQW1CSSxtQkg5MkU0RDtJRysyRTVELGVBQWU7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RCxxQkgrWTBEO1VHN1k5RCw0QlI5TmM7VVE4TmQsb0JSOU5jLEVBQUE7UVFxT2xCO1VBSVEsY1Z6SnlEO1VVOEp6RCx5QlI5ZUs7VVFtZkwscUJWbkt5RDtVVXFLN0QsbUJBQW1CLEVBQUE7UUFPdkI7VUFJUSxxQlZoTHlELEVBQUE7UVVvTGpFO1VBQ0ksYUFBYTtVQUNiLDREUjVQNkM7a0JRNFA3QyxvRFI1UDZDLEVBQUE7UVE4UmpEO1VBQ0kseUNSeFNjO1VRd1NkLGlDUnhTYyxFQUFBO01lOEN0QjtRUG1ESSxxQ0FBZ0M7UUF5QjVCLFlPMUJvTDtRUHdDeEwsb0JBMUNnWTtRQTBDaFksb0JBMUNnWTtRQTBDaFksYUExQ2dZO1FBNEM1WCx5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBTTNCLGtCQUFrQjtRQUNsQixpREFBa0U7UUFFbEUsZ0RBQStDO1FBQy9DLGNSL1JVO1FRZ1NWLHlCVnZFaUU7UVV3RWpFLGlCSCtjNEI7UUc5YzVCLG9CQ2pWNEQ7UURrVjVELGdCT3pEeUs7UVAwRHpLLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsZUFBZTtRQVNYLHFCUjdad0I7UVFpYTVCLHFCQUFxQjtRQUNyQixjSDBieUI7UUd2YnJCLDJCQUFvRTtRQUV4RSxnQkFBZ0I7UUFDaEIsNEJSaExrQjtRUWdMbEIsb0JSaExrQixFQUFBO1FPcEdkO1VRa0pSO1lQcUlZLGtEQUFvRSxFQUFBLEVPbEYvRDtRUmhNVDtVUTZJUjtZUHlJUSxZT3ZGb0w7WVB3RnBMLG1EQUFrRSxFQUFBLEVPdkZ6RDtRUDRGYjtVQUNJO1lBQ0ksY1JoY0s7WVFpY0wseUJSMVVFO1lRNFVFLHFCUjVVRjtZUWdWRixxQkFBcUI7WUFDckIsNEJSeE1VO1lRd01WLG9CUnhNVSxFQUFBO1lRZ05WO2NBQ0kseUJSamRDO2NRa2RELHlDUmxOTTtjUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtRQUdUO1VBQ0ksY1J2ZFM7VVF3ZFQseUJIbVo4RDtVRy9ZMUQscUJIK1kwRDtVRzdZOUQsNEJSOU5jO1VROE5kLG9CUjlOYyxFQUFBO1FRcU9sQjtVQUlRLGNWekp5RDtVVThKekQseUJSOWVLO1VRbWZMLHFCVm5LeUQ7VVVxSzdELG1CQUFtQixFQUFBO1FBT3ZCO1VBSVEscUJWaEx5RCxFQUFBO1FVb0xqRTtVQUNJLGFBQWE7VUFDYiw0RFI1UDZDO2tCUTRQN0Msb0RSNVA2QyxFQUFBO1FROFJqRDtVQUNJLHlDUnhTYztVUXdTZCxpQ1J4U2MsRUFBQTtJZThDdEI7TVBtREkscUNBQWdDO01BeUI1QixZT3JCeUo7TVBtQzdKLG9CQTFDZ1k7TUEwQ2hZLG9CQTFDZ1k7TUEwQ2hZLGFBMUNnWTtNQTRDNVgseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFNM0Isa0JBQWtCO01BQ2xCLHdEQUFrRTtNQUVsRSxnREFBK0M7TUFDL0MsY1RoYWE7TVNpYWIseUJSdlphO01Rd1piLGlCSCtjNEI7TUc5YzVCLG9CQ2pWNEQ7TURrVjVELGdCT3BEOEk7TVBxRDlJLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsZUFBZTtNQVNYLHFCUjdad0I7TVFpYTVCLHFCQUFxQjtNQUNyQixjSDBieUI7TUd2YnJCLDJCQUFvRTtNQUV4RSxnQkFBZ0I7TUFDaEIsNEJSaExrQjtNUWdMbEIsb0JSaExrQixFQUFBO01PL0ZkO1FRNklSO1VQeUlRLFlPbEZ5SjtVUG1Gekosc0RBQWtFLEVBQUEsRU9sRjdEO01QdUZUO1FBQ0k7VUFDSSxjUmhjSztVUWljTCx5QlJ4Ym9CO1VRMGJoQixxQlJoY0M7VVFvY0wscUJBQXFCO1VBQ3JCLDRCUnhNVTtVUXdNVixvQlJ4TVUsRUFBQTtVUWdOVjtZQUNJLHlCUmpkQztZUWtkRCx5Q1JsTk07WVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7TUFHVDtRQUNJLGNSdmRTO1FRd2RULHlCVGxlUztRU3NlTCxxQlR0ZUs7UVN3ZVQsNEJSOU5jO1FROE5kLG9CUjlOYyxFQUFBO01RcU9s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O01BMkNZLGNqQnpTSztNaUIwU0wsOEJoQi9CVTtNZ0IrQlYsc0JoQi9CVSxFQUFBO0lnQmJ0QjtNQStDWSxxQkFBcUIsRUFBQTtNQS9DakM7UUFpRGdCLGNqQjlTQztRaUIrU0QsOEJoQnRDTTtRZ0JzQ04sc0JoQnRDTSxFQUFBO0VnQlp0QjtJQWtFWSxZWFJHO0lXU0gsaUNoQm5KMkI7SWdCb0ozQixlWCtpRUc7SVc5aUVILGlDQUFpRDtZQUFqRCx5QkFBaUQ7SUFDakQsaUJBQWlCLEVBQUE7SVR4SnJCO01Ta0ZSO1FBd0VnQixlWDRpRUQsRUFBQSxFVzFpRU47RUExRVQ7SUFpRlksWVh4QkQ7SVd5QkMsaUNoQmxLMkI7SWdCbUszQixlWGdpRUcsRUFBQTtJRXJzRVA7TVNrRlI7UUFxRmdCLGVYK2hFRCxFQUFBLEVXN2hFTjtFQXZGVDtJQThGWSxZWHRDQTtJV3VDQSxpQ2hCL0syQjtJZ0JnTDNCLGVYbWhFRyxFQUFBO0lFcnNFUDtNU2tGUjtRQWtHZ0IsZVhraEVELEVBQUEsRVdoaEVOO0VBcEdUO0lBNEdZLFlYcEVLO0lXcUVMLGlDaEI3TDJCO0lnQjhMM0IsZVhxZ0VHLEVBQUE7SUVyc0VQO01Ta0ZSO1FBZ0hnQixlWG9nRUQsRUFBQSxFV2xnRU47RUFsSFQ7SUFxSGdCLFlYNUVJO0lXNkVKLHVCaEJ4SmtCLEVBQUE7RWdCa0NsQztJQTJIZ0IsWVhqRkU7SVdrRkYsdUJoQjlKa0IsRUFBQTtFZ0JrQ2xDO0lBb0lZLFlYdERHO0lXdURILGlDaEJyTjJCO0lnQnNOM0IsZVhxL0RHLEVBQUE7SUU3c0VQO01Ta0ZSO1FBeUlnQixlWG0vREQsRUFBQSxFV2ovRE47RUEzSVQ7SUE4SVEsa0JBQWtCLEVBQUE7SUE5STFCO01BZ0pZLFlYNkdDO01XNUdELGVYaytERztNV2orREgsaUNoQmxPMkIsRUFBQTs7QWdCd092QztFQUNJLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHlCaEJoWmE7RWdCaVpiLGFYczhENkI7RVdyOEQ3QixtQ2hCakprQjtFZ0JpSmxCLDJCaEJqSmtCLEVBQUE7RU9w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V3Z1RGpCLFdBQVc7UUFDWCxpQkFBaUIsRUFBQSxFQVN4QjtJVHpqQ0c7TVNtaUNSO1FBaUJnQixnQkFBZ0I7UUFFaEIsZ0JYK2lEVyxFQUFBLEVXN2lEbEI7O0FsQmo3QmlCO0VrQnU3QnRCLFlYdWlEdUIsRUFBQTs7QUVybUZuQjtFU2drQ1I7SUFJUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHFCQUF5QjtRQUF6QixrQkFBeUI7WUFBekIseUJBQXlCO0lBRXpCLGlCQUFpQixFQUFBLEVBZ2F4Qjs7QUF2YUQ7RUFXWSxnQlh5bUN3QjtFV3htQ3hCLG1DaEI5K0JVO0VnQjgrQlYsMkJoQjkrQlUsRUFBQTtFTzlGZDtJU2drQ1I7TUFjZ0IsaUJBQWlCLEVBQUEsRUFFeEI7O0FBaEJUO0VBNkJZLHlCbEIvNkJ5RCxFQUFBO0VrQms1QnJFO0lBK0JnQixZWHArQkk7SVdxK0JKLHVCaEJoakNrQjtJZ0JpakNsQix5QmpCNXdDQztJaUI4d0NHLGNoQnJ3Q0gsRUFBQTtFZ0JrdUNqQjtJQXdDb0IsY2hCMXdDSDtJZ0Iyd0NHLGdCWDB0RHlCLEVBQUE7RVdud0Q3QztJQTRDb0IsY2hCOXdDSCxFQUFBO0VnQmt1Q2pCO0lBaURvQixjaEJueENILEVBQUE7RWdCa3VDakI7SUFvRG9CLGNoQnR4Q0gsRUFBQTs7QWdCa3VDakI7RUE0RG9CLFlYamdDQTtFV2tnQ0EsdUJoQjdrQ2M7RWdCOGtDZCxjaEIvcUNOLEVBQUE7O0FnQmluQ2Q7RUFtRVkseUJsQnI5QnlEO0VrQnM5QnpELGNqQi95Q0s7RWlCZ3pDTCx5QmpCaHpDSyxFQUFBOztBaUIydUNqQjtFQXdFWSxnQlgyckRpQztFVzFyRGpDLGNqQnB6Q0ssRUFBQTs7QWlCMnVDakI7RUE4RVkseUJsQmgrQnlELEVBQUE7RWtCazVCckU7SUFnRmdCLFlYcGhDRTtJV3FoQ0YsdUJoQmptQ2tCO0lnQmttQ2xCLHlCaEI3ckNGO0lnQityQ00sY2hCdHpDSCxFQUFBO0VnQmt1Q2pCO0lBeUZvQixjaEIzekNIO0lnQjR6Q0csZ0JYeXFEeUIsRUFBQTtFV253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QUFuQixtQkFBbUI7RUFDbkIsV1hab0M7RVdjcEMscUJYakMyQztFV2tDM0MsY2pCNzZFYTtFaUJpN0ViLHdFaEJ0cUVrQjtFZ0JzcUVsQixnRWhCdHFFa0IsRUFBQTtFZ0Iyb0V0QjtJQTZCUSx5QmhCdjVFeUIsRUFBQTtFZ0IwM0VqQztJQWdDUSxjaEJuNkV3QjtJZ0J1NkV4QixxQmpCMTdFUztJaUIyN0VULHdFaEJqckVjO0lnQmlyRWQsZ0VoQmpyRWMsRUFBQTtJZ0I0b0V0QjtNQXVDWSxjakI1N0VLO01pQmc4RUwscURoQnZyRVU7TWdCdXJFViw2Q2hCdnJFVSxFQUFBO0VnQjRvRXRCO0lBK0NRLGNoQnI3RVM7SWdCeTdFVCxxQmpCejhFUyxFQUFBO0lpQnM1RWpCO01BcURZLGNoQnY1RXVDLEVBQUE7RWdCazJFbkQ7SUE0RFEsWVh2OURLO0lXODlETCxpQ2hCM3lFK0I7SWdCNHlFL0IsZVh6RWlDO0lXMEVqQyxjakIzOUVTO0lpQis5RVQsZ0JsQmg5RWE7SWtCaTlFYixxRGhCcnRFYztJZ0JxdEVkLDZDaEJydEVjLEVBQUE7O0FnQnl0RXRCO0VBRVEseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsYVgyUXdCO0VXMVF4QixvQlB0NUV3RDtFT3U1RXhELGdCQUFnQjtFQUNoQixjaEI3OUVTO0VnQjg5RVQsNEJoQmp1RWM7RWdCaXVFZCxvQmhCanVFYyxFQUFBO0VnQjB0RXRCO0lBU1ksY2pCNytFSztJaUI4K0VMLDRCaEJudUVVO0lnQm11RVYsb0JoQm51RVUsRUFBQTs7QWdCMHVFdEI7RUFDSSxvQlhzbEJrQixFQUFBO0VFaDZGZDtJU3kwRVI7TUFNUSxpQlhrbEJXLEVBQUEsRVdobEJsQjs7QUFDRDtFQUNJLFdBQVc7RUFHWCx5QmhCbC9FYSxFQUFBO0VPNEpUO0lTazFFUjtNQU9RLGVBQWUsRUFBQSxFQTJKdEI7RVRwL0VPO0lTazFFUjtNQVVRLFVBQVUsRUFBQSxFQXdKakI7RUFsS0Q7SUFhUSx3RUFBcUIsRUFBQTtJVHAyRXJCO01TdTFFUjtRQXNCWSxtQkFBWTtZ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Z0M7Y1kvOUpoQyx1QlorOUpnQztNWTk5SmhDLHVCWnMvSjRCO1VZdC9KNUIsb0Jacy9KNEI7Y1l0L0o1QiwyQlpzL0o0QjtNWXIvSjVCLGdCWnk5Sk87TVl4OUpQLGlCWjYvSk87TVk1L0pQLFNBQVMsRUFBQSxFQXVEaEI7RUFwSEw7SUFpRWdCLFdBQVc7SUFDWCxnQlpxOUp5QjtJWXA5SnpCLGNqQnpCbUM7SWlCMEJuQyxvQlJDZ0Q7SVFBaEQsZ0JaOG1KZTtJWTdtSmYsb0JaZ25KbUI7SVkvbUpuQixjQUFjLEVBQUE7SVZ3RnRCO01VL0pSO1FBeUVvQixnQlp5bEpTO1FZeGxKVCxnQlorOEp1QixFQUFBLEVZNzhKOUI7RUE1RWI7SUErRVksWVprOUpnQztJWWo5SmhDLFdaaTlKZ0M7SVloOUpoQywyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUVmLG1CakJxS29CO0lpQnBLcEIseUJsQm5HQztJa0JxR0wseUJsQnJHSztJa0JzR0wscUJBQXFCO0lBQ3JCLGdDakJvS1U7SWlCcEtWLHdCakJvS1UsRUFBQTtJaUI5UHRCO01BNEZnQix5QmxCeEdDO01rQnlHRCxxQmxCekdDO01rQjBHRCxZWnM4SnNCO01ZcjhKdEIsZ0NqQjhKTTtNaUI5Sk4sd0JqQjhKTSxFQUFBO0lpQjdQdEI7TUFrR2dCLHlCbEIvR0M7TWtCZ0hELHFCbEJoSEMsRUFBQTtFa0JhakI7SUF1R1ksaUJaMjdKZ0UsRUFBQTtFWWxpSzVFO0lBMEdZLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUliLFFBQVEsRUFBQTtJVmdEWjtNVS9KUjtRQWlIZ0IsdUJaKzdKd0I7WVkvN0p4QixvQlorN0p3QjtnQlkvN0p4QiwyQlorN0p3QixFQUFBLEVZNzdKL0I7O0FBbkhUO0VBdUhRLFNaeXhKYTtFWXh4SmIsVVoweEpJLEVBQUE7RUVudkpKO0lVL0pSO01BMEhZ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LFlBQVksRUFBQTs7QUFXeEI7RUFDSSxlWm8ySFc7RVluMkhYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJacTNIYTtFWXIzSGIsNkJacTNIYTtNWXIzSGIsMEJacTNIYTtVWXIzSGIsc0JacTNIYTtFWTkySGIsU1ppMkhRO0VZLzFISixVWm0ySEk7RVlqMkhSLDRCWm82SDJCO01ZcDZIM0IsaUJabzZIMkI7VVlwNkgzQixRWm82SDJCLEVBQUE7RUUxL0l2QjtJVXdrQlI7TUFnQlEsY1pzMUhNO01ZMTBIRixTWmcxSEE7TVk3MEhBLFVaaTFIQSxFQUFBLEVZN3lIWDtFQW5FRDtJQW9DUSx1QloyNEh1QztRWTM0SHZDLG9CWjI0SHVDO1lZMzRIdkMsMkJaMjRIdUMsRUFBQTtJWS82SC9DO01Bc0NZLHVCWnk0SG1DO1VZejRIbkMsb0JaeTRIbUM7Y1l6NEhuQywyQlp5NEhtQyxFQUFBO0VZLzZIL0M7SUEyQ1EsNEJadzBIVztRWXgwSFgsaUJadzBIVztZWXgwSFgsUVp3MEhXLEVBQUE7RVluM0huQjtJQStDUSw0QlpxMEhXO1FZcjBIWCxpQlpxMEhXO1lZcjBIWCxRWnEwSFcsRUFBQTtFWXAzSG5CO0lBb0RZLDRCWmkwSEM7UVlqMEhELGlCWmkwSEM7WVlqMEhELFFaaTBIQyxFQUFBOztBWS95SGI7RUFLUSxnQlpxN0hXO0VZcDdIWCxjakJ6d0IyQztFaUIwd0IzQyxvQlIvdUJ3RDtFUWd2QnhELGdCWjgzSHVCO0VZNzNIdkIsY0FBYztFQUNkLG9CWiszSDJCLEVBQUE7RUV2aEozQjtJVThvQlI7TUFZWSxnQlp5MkhpQixFQUFBLEVZdjJIeEI7O0FBR0w7RUFDSSxVWjY2SFU7RVl6NkhWLGdCWms3SGUsRUFBQTtFRTNsSlg7SVVvcUJSO01BT1EsVVp3NkhPLEVBQUEsRVk3NUhkO0VWanJCTztJVStwQlI7TUFnQlEsZ0JadzZIVyxFQUFBLEVZdDZIbEI7O0FBRUQ7RUFDSSxnQloyNkhlLEVBQUE7RUUvbEpYO0lVbXJCUjtNQUdRLGdCWjA2SFcsRUFBQSxFWS8zSGxCO0VBOUNEO0lBT1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QlpnNkhTO0lZaDZIVCw2QlpnNkhTO1FZaDZIVCwwQlpnNkhTO1lZaDZIVCxzQlpnNkhTLEVBQUE7SVl4NkhqQjtNQWVZLGdCWmk2SE8sRUFBQTtNWWg3SG5CO1FBaUJnQiw2QmpCejJCSyxFQUFBO01PcUtiO1FVbXJCUjtVQW9CZ0IsZ0JaNjVIRyxFQUFBLEVZcjRIVjtNQTVDVDtRQXVCZ0IsZVpzMEhDO1FZcjBIRCxjbEJ2M0JDO1FrQnczQkQsZVJ0eUJnRCxFQUFBO1FGMEZ4RDtVVW1yQlI7WUEyQm9CLFVabTBIUixFQUFBLEVZbnpIQztRQTNDYjtVQThCb0IsY2pCbjNCSCxFQUFBO1FpQnExQmpCO1VBaUNvQixjakJ0M0JILEVBQUE7O0FpQnE0QmpCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxrQlp1NEhvQztFWXQ0SHBDLHlCbEJuNUJhO0VrQm81QmIsY2pCMTRCYTtFaUIyNEJiLGtCQUFrQjtFQUNsQixtQlJwMEI0RDtFUXEwQjVELGdCWnk0SGtDO0VZeDRIbEMsZ0JuQno0QmlCO0VtQjA0QmpCLHFEakI5b0JrQjtFaUI4b0JsQiw2Q2pCOW9Ca0IsRUFBQTtFT3BHZDtJVXd1QlI7TUFZUSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQixFQUFBLEVBU3pCO0VBckJEO0lBZVEseUJsQjc1QlM7SWtCODVCVCx5Q2pCcnBCYztJaUJxcEJkLGlDakJycEJjLEVBQUE7RWlCcW9CdEI7SUFtQlEseUJqQmwyQjJDLEVBQUE7O0FpQnMyQm5EO0VBV1ksYUFBYSxFQUFBOztBQVh6QjtFQWNZLGNBQWMsRUFBQTtFVnh3QmxCO0lVMHZCUjtNQWdCZ0IsZ0JBQWdCLEVBQUEsRUFFdkI7O0FBbEJUO0VBcUJRLGFBQWEsRUFBQTs7QUFJckI7RVRubEJJLHFDQUFnQztFQXVCNUIsV0hrN0lPO0VHbDZJWCxvQlM2aUIwWDtFVDdpQjFYLG9CUzZpQjBYO0VUN2lCMVgsYVM2aUIwWDtFVDNpQnRYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVGphYTtFU2thYixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSCs0SXNDO0VHOTRJdEMsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUaGJTO0VTb2JiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFUTBRZDs7Ozs7Ozs7U1o0elFDLEVZcHpRQztFRGpYRjtJVW14QlI7TVQ3ZlEsMEJIbzNJYztNR3AzSWQsdUJIbzNJYztNR3AzSWQsa0JIbzNJYztNR24zSWQsNENBQWtFLEVBQUEsRVM4ZnpFO0VUemZHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlQxY0s7TVM0Y0QscUJUNWNDO01TZ2RMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVEwTU47UUFDQyxjUjNjQTtRUTRjQSw4QlI1TUs7UVE0TUwsc0JSNU1LLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlI5YTJDO0lRZ2J2QyxxQlJoYnVDO0lRb2IzQyw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7SVFnT1Y7TUFDQyxjUmplSSxFQUFBO0VRcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VRaVI3QztJQUNJLFlIek5GO0lHME5FLGtCSG94SVU7SUdueElWLGlDUjFYMkI7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QjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZc1J5SztRWnJSekssc0RBQWtFLEVBQUEsRVlzUmpFO0laalJMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ4Ym9CO1FRMGJoQixxQlJoY0M7UVFvY0wscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVGxlUztNU3NlTCxxQlR0ZUs7TVN3ZVQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVo2bEJJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJQUNuQjtNQUNJLFlIOVJVO01HK1JWLGlDUnpiK0I7TVEwYi9CLGVINE5RO01HMU5KLGNSN2xCSztNUWltQlQsc0RSbldjO01RbVdkLDhDUm5XYztNUW1XZCxzQ1JuV2M7TVFtV2QsOERSbldjLEVBQUE7SVFzV2Q7TUFHUSxjVHBuQkM7TVN3bkJMLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsc0RSL1dVO01RK1dWLDhDUi9XVTtNUStXVixzQ1IvV1U7TVErV1YsOERSL1dVLEVBQUE7SVFtWGQ7TUFDSSxjVDduQks7TVM4bkJMLDhDUnJYVTtNUXFYVixzQ1JyWFUsRUFBQTtFb0JyUXRCO0laMGtFSSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VvQjVIZDtJWjBrRUkseUJWcnZEaUU7SVVzdkRqRSx5QlIvOERVO0lRaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY1IxOURFLEVBQUE7SVErOUROO01BQ0ksWUgveUREO01HZ3pEQyxjUmorREUsRUFBQTtJUW8rRFY7TUFDSSxjUnIrRE0sRUFBQTtFb0I1SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWXVXa0w7SVp2VnRMLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IvUlU7SVFnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZc1VpSztJWnJVakssa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVl3U2dNO1FadlNoTSxzREFBa0UsRUFBQSxFWXdTakU7SVpuU0w7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QlJoL0RVO0lRay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY1IzL0RFLEVBQUE7SVFnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjUmxnRUUsRUFBQTtJUXFnRVY7TUFDSSxjUnRnRU0sRUFBQTtFb0J0SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWXFYa0w7SVpyV3RMLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IvUlU7SVFnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZb1ZpSztJWm5Wakssa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlzVGdNO1FaclRoTSxzREFBa0UsRUFBQSxFWXNUakU7SVpqVEw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QlJoL0RVO0lRay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY1IzL0RFLEVBQUE7SVFnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjUmxnRUUsRUFBQTtJUXFnRVY7TUFDSSxjUnRnRU0sRUFBQTtFb0J0SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWW9Zc007SVpwWDFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RoYWE7SVNpYWIseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZbVdxTDtJWmxXckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlxVW9OO1FacFVwTixzREFBa0UsRUFBQSxFWXFVakU7SVpoVUw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnRWRTtRUXdWRSxxQlJ4VkY7UVE0VkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0laZ29FSSx5QlYzeURpRTtJVTR5RGpFLHlCUmpoRVU7SVFtaEVOLGdCVnpuRWEsRUFBQTtJVTRuRVo7TUFDRyxZSDUxREMsRUFBTztJR2cyRFo7TUFDSSxjUjVoRUUsRUFBQTtJUWlpRU47TUFDSSxZSHYyREM7TUd3MkRELGNSbmlFRSxFQUFBO0lRc2lFVjtNQUNJLGNSdmlFTSxFQUFBO0VvQmhIZDtJWmdvRUkseUJWM3lEaUU7SVU0eURqRSx5QlJqaEVVO0lRbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY1I1aEVFLEVBQUE7SVFpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjUm5pRUUsRUFBQTtJUXNpRVY7TUFDSSxjUnZpRU0sRUFBQTtFb0JoSGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWWlac007SVpqWTFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RoYWE7SVNpYWIseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZZ1hxTDtJWi9Xckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlrVm9OO1FaalZwTixzREFBa0UsRUFBQSxFWWtWakU7SVo3VUw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnRWRTtRUXdWRSxxQlJ4VkY7UVE0VkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCSG1a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ekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVp1V0kscUNBQWdDO0lBeUI1QixZWWllcUo7SVpuZHpKLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RoYWE7SVNpYWIseUJSdlphO0lRd1piLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWtjMEk7SVpqYzFJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZb2FxSjtRWm5hckosc0RBQWtFLEVBQUEsRVlvYWpFO0laL1pMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ4Ym9CO1FRMGJoQixxQlJoY0M7UVFvY0wscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVGxlUztNU3NlTCxxQlR0ZUs7TVN3ZVQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lB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RFgsRUFBQTtFRTlnRVQ7SWNwQ1I7TUE2RzRCLGlCdEI1T1A7TXNCOE9XLGtCdEI5T1gsRUFBQSxFc0JnUEk7RUFqSHpCO0lBMkZ3QixnQmhCdzlEUjtJZ0J0OURZLGlCaEJzOURaLEVBQUE7RUUvZ0VSO0ljcENSO01BNkc0QixnQmhCZzlEWjtNZ0I5OERnQixpQmhCODhEaEIsRUFBQSxFZ0I1OERTO0VBakh6QjtJQTJGd0IsZ0JoQnk5RFI7SWdCdjlEWSxpQmhCdTlEWixFQUFBO0VFaGhFUjtJY3BDUjtNQTZHNEIsZ0JoQmk5RFo7TWdCLzhEZ0IsaUJoQis4RGhCLEVBQUEsRWdCNzhEUztFQWpIekI7SUEyRndCLGdCaEIwOURSO0lnQng5RFksaUJoQnc5RFosRUFBQTtFRWpoRVI7SWNwQ1I7TUE2RzRCLGdCaEJrOURaO01nQmg5RGdCLGlCaEJnOURoQixFQUFBLEVnQjk4RFM7RUFqSHpCO0lBMkZ3QixnQmhCMjlEUjtJZ0J6OURZLGlCaEJ5OURaLEVBQUE7RUVsaEVSO0ljcENSO01BNkc0QixnQmhCbTlEWjtNZ0JqOURnQixpQmhCaTlEaEIsRUFBQSxFZ0IvOERTO0VBakh6QjtJQTJGd0IsZ0JoQjQ5RFI7SWdCMTlEWSxpQmhCMDlEWixFQUFBO0VFbmhFUjtJY3BDUjtNQTZHNEIsZ0JoQm85RFo7TWdCbDlEZ0IsaUJoQms5RGhCLEVBQUEsRWdCaDlEUztFQWpIekI7SUEyRndCLGdCaEI2OURSO0lnQjM5RFksaUJoQjI5RFosRUFBQTtFRXBoRVI7SWNwQ1I7TUE2RzRCLGdCaEJxOURaO01nQm45RGdCLGlCaEJtOURoQixFQUFBLEVnQmo5RFM7RUFqSHpCO0lBMkZ3QixnQmhCODlEUjtJZ0I1OURZLGlCaEI0OURaLEVBQUE7RUVyaEVSO0ljcENSO01BNkc0QixnQmhCczlEWjtNZ0JwOURnQixpQmhCbzlEaEIsRUFBQSxFZ0JsOURTO0VBakh6QjtJQXVJZ0IseUJ0Qi9RQztJc0JnUkQsNkJyQnpRSztJcUIwUUwsNERyQk5NO0lxQk1OLG9EckJOTSxFQUFBO0lxQm5JdEI7TUE2SXdCLGNyQjNRUDtNcUI0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ckI1ekNFLEVBQUE7RXFCMHhDdEI7SUFvQ3dCLGtEQUFrRTtJQUNsRSxzQ3JCL3pDRjtJcUIrekNFLDhCckIvekNGLEVBQUE7O0FxQjB4Q3RCO0VBNkNnQixVQUFVO0VBQ1Ysa0RBQWtFO0VBQ2xFLHNDckJ6MENNO0VxQnkwQ04sOEJyQnowQ00sRUFBQTtFcUIweEN0QjtJQWlEb0Isb0RBQW9FO0lBQ3BFLHNDckI1MENFO0lxQjQwQ0YsOEJyQjUwQ0UsRUFBQTs7QXFCMHhDdEI7RUEyRFksNkJyQnhsRFM7RXFCeWxEVCw0RHJCNTBDeUM7VXFCNDBDekMsb0RyQjUwQ3lDO0VxQjYwQ3pDLDhEckJ0MUNVO0VxQnMxQ1Ysc0RyQnQxQ1U7RXFCczFDViw4Q3JCdDFDVTtFcUJzMUNWLHVFckJ0MUNVLEVBQUE7RXFCeXhDdEI7SUErRGdCLHFCckJubERDO0lxQm9sREQsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw4RHJCMzFDTTtJcUIyMUNOLHNEckIzMUNNO0lxQjIxQ04sOENyQjMxQ007SXFCMjFDTix1RXJCMzFDTSxFQUFBO0lxQjB4Q3RCO01Bb0VvQixVQUFVLEVBQUE7O0FBcEU5QjtFQWdGZ0IseURyQmoyQ2tDO1VxQmkyQ2xDLGlEckJqMkNrQyxFQUFBOztBcUJpeENsRDtFQW9GZ0IsVUFBVSxFQUFBO0VBcEYxQjtJQXNGb0IsbURBQTBDO1lBQTFDLDJDQUEwQztJQUMxQywwQ3JCajNDRTtJcUJpM0NGLGtDckJqM0NFO0lxQmkzQ0YsMEJyQmozQ0U7SXFCaTNDRixrRHJCajNDRSxFQUFBOztBcUIweEN0QjtFQStGZ0IsZ0J2QnBuREs7RXVCc25EVCwwQ3JCMTNDVTtFcUIwM0NWLGtDckIxM0NVO0VxQjAzQ1YsMEJyQjEzQ1U7RXFCMDNDVixrRHJCMTNDVSxFQUFBOztBcUJ5eEN0QjtFQXVHWSx5QnJCM25ESyxFQUFBO0VxQm9oRGpCO0lBeUdnQix3QkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLHFCdEI5b0RDLEVBQUE7O0FzQm9pRGpCO0VBaUhZLDREckJqNEN5QztVcUJpNEN6QyxvRHJCajRDeUMs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USw0Q0FBa0UsRUFBQSxFa0I1SmpFO0lsQmlLTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdlp1QztRUXlabkMscUJSelptQztRUTZadkMscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVGplUztNU21lTCxxQlRuZUs7TVN1ZVQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0UwQnBDdEI7SUFrRVksU0FBUztJQUNULFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsZ0JyQnEwSGdDO0lxQnAwSGhDLG9CakIzTm9EO0lpQjROcEQseUJyQm8wSHlDLEVBQUE7O0FxQjF6SHJEO0VBRVEsZ0JBQWdCLEVBQUE7O0FBSXhCO0VBR1ksWXJCckJRLEVBQU87O0FxQmtCM0I7RUFRWSxZckIzQkksRUFBTzs7QXFCZ0N2QjtFQUNJLFdBQVc7RUFDWCxtQnJCdXVIK0M7RXFCdHVIL0MsVUFBVSxFQUFBO0VBSGQ7SUFLUSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsYzNCcFZTO0kyQnFWVCxtQmpCblF3RDtJaUJvUXhELGdCckJtdUhvQztJcUJsdUhwQyx5QnJCZ3VIdUMsRUFBQTtJcUI1dUgvQztNQWNZLHFCQUFxQjtNQUNyQixpQkFBaUI7TUFDakIsYzFCdlN1QztNMEJ3U3ZDLGlDMUI5SzJCO00wQitLM0IsbUJqQjNRb0QsRUFBQTtFaUJ5UGhFO0lBc0JRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHNCQUFrQjtRQUFsQixrQkFBa0I7SUFDbEIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLHlCMUI3VlM7STBCK1ZMLGdCNUIxVlMsRUFBQTtJNEI0VHJCO01BaUNZLGNBQWM7TUFDZCxnQkFBZ0I7TUFDaEIsVUFBVSxFQUFBO0VBbkN0QjtJQXVDUSxZckJ3c0gwQjtJcUJ2c0gxQixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLDZCMUI5V2E7STBCK1diLFNBQVM7SUFDVCxtQmpCclN3RDtJaUJzU3hELGMxQjNXUyxFQUFBO0kwQjhUakI7TUErQ1ksd0JBQWdCO2NBQWhCLGdCQUFnQixFQUFBO0lBL0M1QjtNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsbUJqQjVTb0Q7TWlCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG1CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01Ba0RZLHlCckIwckhtQztNcUJ6ckhuQyxtQmpCNVNvRDtNaUI2U3BELHNCQUFzQixFQUFBO0lBcERsQztNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsbUJqQjVTb0Q7TWlCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG1CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01BdURZLGVBQWU7TUFDZix5QjFCL1V1QyxFQUFBO0UwQnVSbkQ7SWxCaUNJLHFDQUFnQztJQXlCNUIsV2tCSXdLO0lsQlU1SyxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsMkNBQStDO0lBQy9DLGNSdFphO0lRdVpiLHlCUjlWaUU7SVErVmpFLGlCSCtjNEI7SUc5YzVCLGtCQ2pWNEQ7SURrVjVELGdCQTlDcUI7SUErQ3JCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVdYLHFCUmxhUztJUW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNbUIrSlI7UWxCdUhRLFdrQnpEd0s7UWxCMER4Syw0Q0FBa0UsRUFBQSxFa0J6RGpFO0lsQjhETDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUMWNLO1FTOGNELHFCVDljQztRU2dkTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJSOWEyQztNUWtidkMscUJSbGJ1QztNUW9iM0MsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0UwQmdFdEI7SWxCaUNJLHFDQUFnQztJQXlCNUIsV2tCT3lLO0lsQk83SyxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsMkNBQStDO0lBQy9DLGNSdFphO0lRdVpiLHlCUnBVVTtJUXFVVixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkE5Q3FCO0lBK0NyQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFXWCxxQlJsYVM7SVFvYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TW1CK0pSO1FsQnVIUSxXa0J0RHlLO1FsQnVEekssNENBQWtFLEVBQUEsRWtCdERqRTtJbEIyREw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnphcUI7UVE2YWpCLHFCUjdhaUI7UVErYXJCLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlI5YTJDO01Ra2J2QyxxQlJsYnVDO01Rb2IzQyw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTBCZ0V0QjtJbEJ3bERJLGlDQUFjO0lBRWQsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixtQkFBZTtRQUFmLGVBQWU7SUFVZixXSHVCbUI7SUd0Qm5CLGNIbUJnQjtJR2xCaEIsa0JIcUJtQjtJR3BCbkIsbUJDcDJENEQ7SUR5MkR4RCxnQlY1NkRhO0lVMjdEakIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsa0JB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SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NabzdjQztJOEJ0L2NELG1CQUFtQixFQUFBO0luQnZTbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0JrTztRbEJoQmxPLHVCa0JnQmtPO1FsQmhCbE8sa0JrQmdCa087UWxCZmxPLDRDQUFrRSxFQUFBLEVrQmlCckU7SWxCWkQ7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCVDFjSztRUzhjRCxxQlQ5Y0M7UVNnZEwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUTBNTjtVQUNDLGNSM2NBO1VRNGNBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCVGxlUztNU3NlTCxxQlR0ZUs7TVN3ZVQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUVRLGNSM2RxQjtNUWdlckIseUJSNWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUWlSN0M7TUFDSSxZSHpQQTtNRzBQQSxrQmtCOUZrQjtNbEIrRmxCLGlDUjFYMkI7TVEyWDNCLGVIKzlHbUQ7TUcxOUduRCxjUnhoQnFCO01ReWhCckIsOEJScFNVO01Rb1NWLHNCUnBTVSxFQUFBO0lRdVNsQjtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEI2SnRCO0lsQjVESSxxQ0FBZ0M7SUF1QjVCLFdrQitGeUs7SWxCakY3SyxnQmtCaUZpTztJbEJoRmpPLFlrQmdGK007SWxCL0UvTSxvQmtCK0U4UDtJbEIvRTlQLG9Ca0IrRThQO0lsQi9FOVAsYWtCK0U4UDtJbEI3RTFQLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUaGFhO0lTaWFiLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkhra0g2QjtJR2prSDdCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVdYLHFCUmxhUztJUW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NaaWdkQztJOEJuamRELG1CQUFtQixFQUFBO0luQnZUbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0M2TDtRbEJoQzdMLHVCa0JnQzZMO1FsQmhDN0wsa0JrQmdDNkw7UWxCL0I3TCw0Q0FBa0UsRUFBQSxFa0JpQ3JFO0lsQjVCRDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUMWNLO1FTOGNELHFCVDljQztRU2dkTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1IzY0E7VVE0Y0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJUbGVTO01Tc2VMLHFCVHRlSztNU3dlVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BRVEsY1J4ZHFCO01RK2RyQix5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlIN1BPO01HOFBQLGtCa0I5RWtCO01sQitFbEIsaUNSMVgyQjtNUTJYM0IsZUgyN0cwRDtNR3Q3RzFELGNSeGhCcUI7TVF5aEJyQiw4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djFFaUI7TUd3MUVqQiw2QkFBNkIsRUFBQTtNQU83QjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUlqQjtNQUNJLG1CSGg1Qlc7TUdvNUJYLGVDenpFd0Q7TUQwekV4RCxnQkh0NkJHO01HdTZCSCxrQkgvNUJNO01HbTZCTixjVGo1RVM7TVNrNUVULGdCSG4zRWlCLEVBQUE7TUcwM0VqQjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUdqQjtNQUlJLG1CSDU2Qlc7TUc4NkJQLGVIdDZCRTtNR3c2Qk4sb0JDdDFFd0Q7TUR1MUV4RCxnQkhsOEJHO01HbThCSCxrQkgzN0JNO01HKzdCTixjVDc2RVM7TVM4NkVULGdCSGg1RWlCLEVBQUE7TUdvNUVqQjtRQUNJLGFBQWEsRUFBQTtNQUVqQjtRQUNJLFNBQVMsRUFBQTtJQUdqQjtNQUNJLG1CSGw4Qlc7TUdvOEJQLGlCSDU3Qkk7TUc4N0JSLG1CQzcyRXdEO01EODJFeEQsZ0JIeDlCRztNR3k5Qkgsa0JIajlCTTtNR3E5Qk4sY1RyOEVTO01TczhFVCxnQkh2NkVpQixFQUFBO01HMjZFakI7UUFDSSxhQUFhLEVBQUE7TUFFakI7UUFDSSxTQUFTLEVBQUE7SUFHakI7TUFDSSxtQkh4OUJXO01HNDlCWCxtQkNwNEV3RDtNRHE0RXhELGdCSDkrQkc7TUcrK0JILGtCSHYrQk07TUcyK0JOLGNSLzhFUztNUWc5RVQsZ0JIOTdFaUIsRUFBQTtNR2s4RWpCO1FBQ0ksYUFBYSxFQUFBO01BRWpCO1FBQ0ksU0FBUyxFQUFBO0lBR2pCO01BQ0ksY0g5K0JNO01Hay9CTixvQkMzNUV3RDtNRDQ1RXhELGdCSHBnQ0c7TUdxZ0NILGtCSDcvQk07TUdpZ0NOLGNSdCtFUztNUXUrRVQsZ0JIcjlFaUIsRUFBQTtNR3k5RWpCO1FBQ0ksYUFBYSxFQUFBO01BRWpCO1FBQ0ksU0FBUyxFQUFBO0lBS2pCO01BQ0ksK0JBQW1EO01BQ25ELG9CQ2o3RXdEO01EazdFeEQsZ0JIditCdUI7TUd3K0J2QixnQkh0K0VpQjtNR3UrRWpCLGNSei9F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NEI7SUc5YzVCLGVDalY0RDtJRGtWNUQsZ0JIbWNlO0lHbGNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQjtJUTBRZDs7Ozs7Ozs7U1p3K2hCQyxFWWgraEJDO0lEalhGO01xQmlYUjtRcEIzRlEsMEJvQm9JOE87UXBCcEk5Tyx1Qm9Cb0k4TztRcEJwSTlPLGtCb0JvSThPO1FwQm5JOU8sNENBQWtFLEVBQUEsRW9Cb0lqRTtJcEIvSEw7TUFDSTtRQUNJLGNUMWNLO1FTMmNMLHlCUnhZeUQ7UVEwWXJELHFCVDdjQztRU2lkTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1RyZEE7VVNzZEEsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUamVTO01TbWVMLHFCVHBlSztNU3dlVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFpZkwscUJWakt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUVRLHFCVjlLeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlINVFGO01HNlFFLGtCb0Jja0I7TXBCYmxCLGlDUjFYMkI7TVEyWDNCLGVIMHlGMEI7TUdyeUYxQixjUnZmdUM7TVF3ZnZDLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTRCa1J0QjtJcEJqTEkscUNBQWdDO0lBdUI1QixXb0J1TWtRO0lwQnZMdFEsb0JvQnVMbVM7SXBCdkxuUyxvQm9CdUxtUztJcEJ2TG5TLGFvQnVMbVM7SXBCckwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjUnpXK0M7SVEwVy9DLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixlQ2pWNEQ7SURrVjVELGdCSG1jZTtJR2xjZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NacWppQkMsRVk3aWlCQztJRGpYRjtNcUJpWFI7UXBCM0ZRLDBCb0J3SThPO1FwQnhJOU8sdUJvQndJOE87UXBCeEk5TyxrQm9Cd0k4TztRcEJ2STlPLDRDQUFrRSxFQUFBLEVvQndJakU7SXBCbklMO01BQ0k7UUFDSSxjVDFjSztRUzJjTCx5QlJ4WXlEO1FRMFlyRCxxQlQ3Y0M7UVNpZEwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUTBNTjtVQUNDLGNUcmRBO1VTc2RBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVGplUztNU21lTCxxQlRwZUs7TVN3ZVQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO01RZ09WO1FBQ0MsY1JqZUksRUFBQTtJUXFlYjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RaWZMLHFCVmpLeUQ7TVVxSzdELG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFFUSxxQlY5S3lELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUWlSN0M7TUFDSSxZSDlRRDtNRytRQyxrQm9CdUJrQjtNcEJ0QmxCLGlDUjFYMkI7TVEyWDNCLGVIMHlGMEI7TUdyeUYxQixjUnZmdUM7TVF3ZnZDLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7O0E0Qm9VdEI7RXBCbk9JLHFDQUFnQztFQXlCNUIsWW9CMk1pTjtFcEI3THJOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLGlEQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RoYWE7RVNpYWIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lxQndhUjtNcEJqSlksa0RBQW9FLEVBQUEsRW9CbUovRTtFckJyYU87SXFCbWFSO01wQjdJUSxZb0I4SWlOO01wQjdJak4sbURBQWtFLEVBQUEsRW9COEl6RTtFcEJ6SUc7SUFDSTtNQUNJLGNUMWNLO01TMmNMLHlCSGljd0Q7TUcvYnBELHFCVDdjQztNU2lkTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUbGVTO0lTb2VMLHFCVHBlSztJU3dlVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0E0QnlVdEI7RUFDSSxnQkFBZ0IsRUFBQTtFQURwQjtJQUdRLFNBQVM7SUFDVCxVQUFVLEVBQUE7SUFKbEI7TUFNWSxlQUFlLEVBQUE7RUFOM0I7SUFZZ0IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixxQjVCNWtCaUI7STRCNmtCakIsOEQ1QnhWTTtJNEJ3Vk4sc0Q1QnhWTTtJNEJ3Vk4sOEM1QnhWTTtJNEJ3Vk4sdUU1QnhWTSxFQUFBO0k0QnlVdEI7TUFrQm9CLGVBQWUsRUFBQTtJQWxCbkM7TUFzQm9CLHlCNUJubUJDLEVBQUE7STRCNmtCckI7TUF5Qm9CLDRENUJ6VmlDO2M0QnlWakMsb0Q1QnpWaUM7TTRCMFZqQywyQzVCcFdFO000Qm9XRixtQzVCcFdFO000Qm9XRiwyQjVCcFdFO000Qm9XRixvRDVCcFdFLEVBQUE7TTRCMFV0QjtRQTRCd0IscUI3QmhuQlA7UTZCaW5CTyxxQzVCdldGO1E0QnVXRSw2QjVCdldGLEVBQUE7RTRCMFV0QjtJQW9DUSxnQkFBZ0I7SUFDaEIsMkM1QjlXYztJNEI4V2QsbUM1QjlXYztJNEI4V2QsMkI1QjlXYztJNEI4V2Qsb0Q1QjlXYyxFQUFBO0k0QnlVdEI7TUF3Q2dCLGtCQUFrQjtNQUNsQixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGtCbkI3aUJnRDtNbUI4aUJoRCxnQnZCOGxIaUI7TXVCN2xIakIsYzdCam9CQyxFQUFBO002Qm9sQmpCO1FBK0NvQixZdkIzV1Q7UXVCNldTLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsaUM1QnpkbUI7UTRCMGRuQixjNUJsbkJhO1E0Qm1uQmIsZUFBZTtRQUNmLHFDNUIvWEU7UTRCK1hGLDZCNUIvWEUsRUFBQTtJNEJ5VXRCO01BMERnQixpQkFBaUIsRUFBQTtJQTFEakM7TUE2RGdCLGNBQWMsRUFBQTtNQTdEOUI7UUErRG9CLGVuQmprQjRDO1FtQmtrQjVDLGdCQUFnQjtRQUNoQixjNUJ4b0JILEVBQUE7RTRCdWtCakI7SUEwRVksYzdCN3BCSztJNkI4cEJMLDhCNUJyWlU7STRCcVpWLHNCNUJyWlUsRUFBQTtFNEIwVXRCO0lBOEVZLGM1QjltQnVDO0k0QittQnZDLDhCNUJ4WlU7STRCd1pWLHNCNUJ4WlUsRUFBQTs7QXFCa090QjtFTzZMUSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixnQnZCODRCZ0I7RXVCNzRCaEIsVXZCODRCVTtFdUI3NEJWLGVuQjVsQndEO0VtQjZsQnhELGdCdkJpNUJtQjtFdUJoNUJuQixrQnZCaTVCcUI7RXVCaDVCckIsYzdCanJCUztFNkJrckJULHFCdkJ3NkJTO0V1QnY2QlQsNkI1QjVxQmE7RTRCNnFCYiw2QjVCN3FCYTtFNEI4cUJiLG9CdkI2NEJ1QjtFdUI1NEJ2Qix3RDVCM2FjO0U0QjJhZCxnRDVCM2FjLEVBQUE7RTRCNlp0QjtJQWdCWSxjN0J2ckJLO0k2QndyQkwsMEJ2Qms2QnlDO0l1Qmo2QnpDLHlCNUJuckJTO0k0Qm9yQlQsNkI1QnByQlM7STRCcXJCVCw4RDVCbGJVO0k0QmtiVixzRDVCbGJVLEVBQUE7RTRCOFp0QjtJQXVCWSxjNUIzb0J1QztJNEI0b0J2Qyw2QjVCenJCUyxFQUFBOztBNEIrckJyQjtFcEIxVkkscUNBQWdDO0VBeUI1QixZb0JrVWlOO0VwQnBUck4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsaURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhhYTtFU2lhYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU9wR2Q7SXFCK2hCUjtNcEJ4UVksa0RBQW9FLEVBQUEsRW9CMFEvRTtFckI1aEJPO0lxQjBoQlI7TXBCcFFRLFlvQnFRaU47TXBCcFFqTixtREFBa0UsRUFBQSxFb0JxUXpFO0VwQmhRRztJQUNJO01BQ0ksY1QxY0s7TVMyY0wseUJIaWN3RDtNRy9icEQscUJUN2NDO01TaWRMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRsZVM7SVNvZUwscUJUcGVLO0lTd2VULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QTRCaWN0QjtFQUNJLG1CQUFtQixFQUFBO0VBRHZCO0lBR1Esb0JuQjduQndELEVBQUE7O0FtQmtvQmhFO0VBRVEsZXZCeUdTLEVBQUE7RUVucEJUO0lxQndpQlI7TUFJWSxldkJ3R0ssRUFBQSxFdUJ0R1o7O0FwQmdwREQ7RUFDSSxtQkhyM0JXO0VHeTNCWCxvQkM3eEV3RDtFRDh4RXhELGdCSDM0Qkc7RUc0NEJILGtCSHA0Qk07RUd3NEJOLGNUcjNFUztFU3MzRVQsZ0JIdjFFaUI7RUd3MUVqQiw2QkFBNkIsRUFBQTtFQU83QjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFJakI7RUFDSSxtQkhoNUJXO0VHbzVCWCxlQ3p6RXdEO0VEMHpFeEQsZ0JIdDZCRztFR3U2Qkgsa0JILzVCTTtFR202Qk4sY1RqNUVTO0VTazVFVCxnQkhuM0VpQixFQUFBO0VHMDNFakI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBSUksbUJINTZCVztFRzg2QlAsZUh0NkJFO0VHdzZCTixvQkN0MUV3RDtFRHUxRXhELGdCSGw4Qkc7RUdtOEJILGtCSDM3Qk07RUcrN0JOLGNUNzZFUztFUzg2RVQsZ0JIaDVFaUIsRUFBQTtFR281RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUNJLG1CSGw4Qlc7RUdvOEJQLGlCSDU3Qkk7RUc4N0JSLG1CQzcyRXdEO0VEODJFeEQsZ0JIeDlCRztFR3k5Qkgsa0JIajlCTTtFR3E5Qk4sY1RyOEVTO0VTczhFVCxnQkh2NkVpQixFQUFBO0VHMjZFakI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBR2pCO0VBQ0ksbUJIeDlCVztFRzQ5QlgsbUJDcDRFd0Q7RURxNEV4RCxnQkg5K0JHO0VHKytCSCxrQkh2K0JNO0VHMitCTixjUi84RVM7RVFnOUVULGdCSDk3RWlCLEVBQUE7RUdrOEVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFDSSxjSDkrQk07RUdrL0JOLG9CQzM1RXdEO0VENDVFeEQsZ0JIcGdDRztFR3FnQ0gsa0JINy9CTTtFR2lnQ04sY1J0K0VTO0VRdStFVCxnQkhyOUVpQixFQUFBO0VHeTlFakI7SUFDSSxhQUFhLEVBQUE7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VCx3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUt2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUV2QixrQkg2MEI4QjtFR2gwQjFCLDZCSHUwQkk7RUduMEJSLG9CSHl6QjRCO0VHeHpCNUIseUNSdHBDTTtFUXNwQ04saUNSdHBDTSxFQUFBO0VKd3VtQnBCO0lZbG1rQmtCLFNIMHdCaUI7SUd6d0JqQixrQkhvdUJNLEVBQUE7O0FUaTRpQjFCO0VZeGtrQlEsWUFBWTtFQUNaLGtCQUFrQjtFQUVsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUVsQixnQlZ0NkNTO0VVdzZDYixnQkg2eEJvQjtFR2xXeEIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osMkNSMW1Ea0I7RVEwbURsQixtQ1IxbURrQjtFUTBtRGxCLDJCUjFtRGtCO0VRMG1EbEIsb0RSMW1Ea0IsRUFBQTtFTy9GZDtJWHUxbUJKO01ZdGtrQlEsV0FBVyxFQUFBLEVBcUhsQjtFWm05akJIO0lZcmtrQlUsbUJIc3JCYztJR3JyQmQsa0JIcXJCYyxFQUFBO0lUazVpQnRCO01ZcGtrQlksY0FBYyxFQUFBO0Vac2trQjVCO0lZaGtrQlUsZUFBZSxFQUFBO0Vaa2trQnpCO0lZL2prQlUsbUJIeXFCYztJR3hxQmQsa0JId3FCYyxFQUFBO0lUeTVpQnRCO01ZL2prQlksbUJBQW1CLEVBQUE7RVppa2tCakM7SVk3amtCVSxtQkhrcUJjO0lHanFCZCxrQkhpcUJjLEVBQUE7RVQ4NWlCeEI7SVkzamtCVSxnQkFBZ0I7SUFDaEIsa0JINHBCYztJRzNwQmQsZ0JIeXZCZ0IsRUFBQTtJVG8waUJ4QjtNWTNqa0JZLGFBQWEsRUFBQTtJWjZqa0J6QjtNWTFqa0JZLHNCSG92Qlk7VUdwdkJaLG1CSG92Qlk7Y0dwdkJaLHFCSG92QlksRUFBQTtJVHcwaUJ4QjtNWXpqa0JZLDJCQUFxQjtVQUFyQix3QkFBcUI7Y0FBckIscUJBQXFCO01BRWpCLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7RVowamtCN0M7SVluamtCVSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHVCSHV3QlM7UUd2d0JULG9CSHV3QlM7WUd2d0JULDJCSHV3QlM7SUd0d0JULHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CQUFlO1FBQWYsZUFBZTtJQUNmLFNBQVM7SUFDVCxvQkg0bkJxQixFQUFBO0lFajhEekI7TVgyM21CRjtRWXBqa0JVLHVCSGt3Qks7WUdsd0JMLG9CSGt3Qks7Z0JHbHdCTCwyQkhrd0JLO1FHandCTCxRQUFRLEVBQUEsRUFFZjtFWm9qa0JQO0lZamprQlUsZ0JBQWdCLEVBQUE7RVptamtCMUI7SVkvaWtCVSxVSGd3QmlCO0lHL3ZCakIsbUJIK21CcUIsRUFBQTtFVGs4aUIvQjtJWTdpa0JjLFlBQVksRUFBQTtFWitpa0IxQjtJWXppa0JjLGNUeGdEQztJU3lnREQsMEJBQXNFO0lBQ3RFLDhCUmh3Q007SVFnd0NOLHNCUmh3Q00sRUFBQTtFSjJ5bUJwQjtJWXRpa0JjLGNUOWdEQyxFQUFBO0VIc2puQmY7SVk1aGtCVSw2QlJwaERTLEVBQUE7RUpram5CbkI7SVkzaGtCVSxvQkhrakJ5QjtJR2pqQnpCLHlCUnJoREssRUFBQTtJSmtqbkJiO01ZM2hrQlksc0JBQWdGLEVBQUE7SVo2aGtCNUY7TVkxaGtCWSxjQUFjLEVBQUE7SVo0aGtCMUI7TVl2aGtCWSxrQkg2a0JVLEVBQUE7TVQ0OGlCcEI7UVlyaGtCYyxVQUFVLEVBQUE7RVp1aGtCNUI7SVl0c2pCVSw0RFIxbUR5QztZUTBtRHpDLG9EUjFtRHlDO0lRMm1EekMsMkNScm5EVTtJUXFuRFYsbUNScm5EVTtJUXFuRFYsMkJScm5EVTtJUXFuRFYsb0RScm5EVSxFQUFBOztBSjh6bUJ0QjtFWXBoa0JRLFdBQVcsRUFBQTs7QVp1aGtCbkI7RVluaGtCUSxXQUFXO0VBS1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixnQkg2bUJXLEVBQUE7RUVqZ0VYO0lYczZtQko7TVk3Z2tCUSxTSHltQkEsRUFBQSxFR2xtQlA7RVp3Z2tCSDtJWTNna0JVLG9CQUFjO1FBQWQsY0FBYyxFQUFBOztBWjhna0IxQjtFWXpna0JRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLG1CSHNpQmtCO0VHcmlCbEIsa0JIcWlCa0IsRUFBQTtFVHMraUJ4QjtJWXpna0JVLGNSdGtESztJUXVrREwsZ0JIMHBCa0M7SUd6cEJsQyxtQkNuZ0RvRCxFQUFBO0ViOGduQjlEO0lZeGdrQlUsaUJIcS9EbUU7SUdwL0RuRSxjUjVrREs7SVE2a0RMLG1CQ3hnRG9ELEVBQUE7O0FibWhuQmhFO0VZdmdrQlEsaURBQWtEO0VBQ2xELHVEUmo4Q3FEO0VRazhDckQsb0JDOWdEd0Q7RUQrZ0R4RCxnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsOEJSMTFDYztFUTAxQ2Qsc0JSMTFDYyxFQUFBO0VKbTJtQnBCO0lZdGdrQlUsd0NBQXdDO0lBQ3hDLDBCQUEwQjtJQUMxQiw4QlJoMkNVO0lRZzJDVixzQlJoMkNVLEVBQUE7O0FKeTJtQnRCO0VZcjhqQlEsY1I1b0R5QjtFUTZvRHpCLG9CQzdsRHdEO0VEOGxEeEQsZ0JIdWlCc0M7RUd0aUJ0QyxnQkhscERpQixFQUFBO0VUeWxuQnZCO0lZcjhqQlUsY1RuckRLO0lTb3JETCwwQkFBMEIsRUFBQTtFWnU4akJwQztJWXA4akJVLGNUdHJESyxFQUFBOztBSDZubkJqQjtFWS9na0JRLGNSN2tEeUI7RVE4a0R6QixvQkM5aER3RDtFRCtoRHhELGdCSDZtQmdDO0VHNW1CaEMsZ0JIbmxEaUI7RUdvbERqQixvQkhzbUJvQztFR3JtQnBDLDhCUnoyQ2M7RVF5MkNkLHNCUnoyQ2MsRUFBQTtFSjAzbUJw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MUJyV1Y7TTBCd1ZSO1FBZVksVzVCb2lEcUI7UTRCbmlEckIsWTVCbWlEcUIsRUFBQSxFNEJuZ0Q1QjtJQWhETDtNQW1CWSxXQUFXO01BQ1gsWUFBWTtNQUNaLGNBQWM7TUFDZCx5QmpDaGhCSztNaUNpaEJMLG1CakNwUndCO01pQ3FSeEIseUJqQ3RnQnFCO01pQ3VnQnJCLFk1QnlpREc7TTRCcmlESCxnRWpDdFJVO01pQ3NSVix3RGpDdFJVLEVBQUE7TWlDeVB0QjtRQStCZ0IseUJsQ2xpQkM7UWtDbWlCRCxxQmxDbmlCQztRa0NvaUJELHVEakMzUk07UWlDMlJOLCtDakMzUk0sRUFBQTtNaUMwUHRCO1FBb0NnQix5QmxDeGlCQztRa0N5aUJELHFCbEN6aUJDLEVBQUE7TWtDb2dCakI7UUF5Q2dCLHlCbEM3aUJDO1FrQzhpQkQscUJsQzlpQkM7UWtDK2lCRCxVNUJ5aERIO1E0QnhoREcsbUJBQW1CO1FBQ25CLGdDakN2U007UWlDdVNOLHdCakN2U00sRUFBQTs7QWtDdFJ0Qjs7Ozs7O0N0Q3Ftb0JDO0FzQzdsb0JEO0VBQ0ksWTdCNHpEcUI7RTZCM3pEckIsa0JBQWtCO0VBQ2xCLDBDbENXYTtFa0NWYiw2QjdCZzBEb0I7RTZCL3pEcEIsa0JsQ3FRZTtFa0NwUWYsNERsQ3lRa0I7RWtDelFsQixvRGxDeVFrQixFQUFBO0VrQy9RdEI7SUFRUSx5QmxDTVM7SWtDTFQseUI3QjR6RGM7STZCM3pEZCw0RGxDb1FjO0lrQ3BRZCxvRGxDb1FjLEVBQUE7SWtDOVF0QjtNQVlZLHlCcENrVnlEO01vQ2pWekQseUNsQ2lRVTtNa0NqUVYsaUNsQ2lRVSxFQUFBO0VrQzlRdEI7SUFpQlEseUJsQ0hTO0lrQ0lULHlCN0JvekRlLEVBQUE7STZCdDBEdkI7TUFvQlkseUJuQ2ZLLEVBQUE7RW1DTGpCO0lBMkJnQix5QmxDMEdGLEVBQUE7RWtDcklkO0lBZ0NnQix5QmxDcUdGLEVBQUE7O0FrQzVGZDtFQUNJLFc3QnF5RDJCO0U2QnB5RDNCLFk3Qm95RDJCO0U2Qm55RDNCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFh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LGdCSHQ2Qkc7UUd1NkJILGtCSC81Qk07UUdtNkJOLGNUajVFUztRU2s1RVQsZ0JIbjNFaUIsRUFBQTtRRzAzRWpCO1VBQ0ksYUFBYSxFQUFBO1FBRWpCO1VBQ0ksU0FBUyxFQUFBO01BR2pCO1FBSUksbUJINTZCVztRRzg2QlAsZUh0NkJFO1FHdzZCTixvQkN0MUV3RDtRRHUxRXhELGdCSGw4Qkc7UUdtOEJILGtCSDM3Qk07UUcrN0JOLGNUNzZFUztRUzg2RVQsZ0JIaDVFaUIsRUFBQTtRR281RWpCO1VBQ0ksYUFBYSxFQUFBO1FBRWpCO1VBQ0ksU0FBUyxFQUFBO01BR2pCO1FBQ0ksbUJIbDhCVztRR284QlAsaUJINTdCSTtRRzg3QlIsbUJDNzJFd0Q7UUQ4MkV4RCxnQkh4OUJHO1FHeTlCSCxrQkhqOUJNO1FHcTlCTixjVHI4RVM7UVNzOEVULGdCSHY2RWlCLEVBQUE7UUcyNkVqQjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUdqQjtRQUNJLG1CSHg5Qlc7UUc0OUJYLG1CQ3A0RXdEO1FEcTRFeEQsZ0JIOStCRztRRysrQkgsa0JIditCTTtRRzIrQk4sY1IvOEVTO1FRZzlFVCxnQkg5N0VpQixFQUFBO1FHazhFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFDSSxjSDkrQk07UUdrL0JOLG9CQzM1RXdEO1FENDVFeEQsZ0JIcGdDRztRR3FnQ0gsa0JINy9CTTtRR2lnQ04sY1J0K0VTO1FRdStFVCxnQkhyOUVpQixFQUFBO1FHeTlFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFLakI7UUFDSSwrQkFBbUQ7UUFDbkQsb0JDajdFd0Q7UURrN0V4RCxnQkh2K0J1QjtRR3crQnZCLGdCSHQrRWlCO1FHdStFakIsY1J6L0VTLEVBQUE7UVE0L0VUO1VBQ0ksd0JBQXdCLEVBQUE7UUFHNUI7VUFDSSx3QkFBd0IsRUFBQTtRQUU1QjtVQUNJLGNBQWMsRUFBQTtRQUVsQjtVQUNJLGFIOWpDcUI7VUcrakNyQixnQkgvakNx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SzJDLEVBQUE7RWtEc0RuRDtJQWlIUSx5QmxEcEs2RCxFQUFBO0VrRG1EckU7SUFxSFEseUJsRHJLd0QsRUFBQTtFa0RnRGhFO0lBeUhRLHlCbkQ5T1MsRUFBQTtFbURxSGpCO0lBNkhRLHlCbERuSzJELEVBQUE7RWtEc0NuRTtJQWlJUSx5QmxEcEswQyxFQUFBO0VrRHZGMUM7SUFDSSx5QmxEZ0dFLEVBQUE7RWtEakdOO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRG1XK0UsRUFBQTtFb0RwV25GO0lBQ0kseUJsRHNHRSxFQUFBO0VrRHZHTjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCbEQ0R0UsRUFBQTtFa0Q3R047SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0Vv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QU87UUFBUCxXQUFPO1lBQVAsT0FBTyxFQUFBO0VBL0xmO0lBdU1vQiwyQkFBMkIsRUFBQTtFQXZNL0M7O0lBbU53QixnQ3JEL09RLEVBQUE7RXFENEJoQzs7SUF1Tm9CLG1CNUNwTDRDLEVBQUE7RTRDbkNoRTs7SUErTlksZ0JBQWdCLEVBQUE7O0E3QzRsRXhCO0VBQ0ksbUJIcjNCVztFR3kzQlgsb0JDN3hFd0Q7RUQ4eEV4RCxnQkgzNEJHO0VHNDRCSCxrQkhwNEJNO0VHdzRCTixjVHIzRVM7RVNzM0VULGdCSHYxRWlCO0VHdzFFakIsNkJBQTZCLEVBQUE7RUFPN0I7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksbUJIaDVCVztFR281QlgsZUN6ekV3RDtFRDB6RXhELGdCSHQ2Qkc7RUd1NkJILGtCSC81Qk07RUdtNkJOLGNUajVFUztFU2s1RVQsZ0JIbjNFaUIsRUFBQTtFRzAzRWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUlJLG1CSDU2Qlc7RUc4NkJQLGVIdDZCRTtFR3c2Qk4sb0JDdDFFd0Q7RUR1MUV4RCxnQkhsOEJHO0VHbThCSCxrQkgzN0JNO0VHKzdCTixjVDc2RVM7RVM4NkVULGdCSGg1RWlCLEVBQUE7RUdvNUVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFDSSxtQkhsOEJXO0VHbzhCUCxpQkg1N0JJO0VHODdCUixtQkM3MkV3RDtFRDgyRXhELGdCSHg5Qkc7RUd5OUJILGtCSGo5Qk07RUdxOUJOLGNUcjhFUztFU3M4RVQsZ0JIdjZFaUIsRUFBQTtFRzI2RWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUNJLG1CSHg5Qlc7RUc0OUJYLG1CQ3A0RXdEO0VEcTRFeEQsZ0JIOStCRztFRysrQkgsa0JIditCTTtFRzIrQk4sY1IvOEVTO0VRZzlFVCxnQkg5N0VpQixFQUFBO0VHazhFakI7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFD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M1pJO0VnRDRaSixpQ3JEdGUyQjtFcUR1ZTNCLDZCdERycEJLLEVBQUE7O0FzRDZsQmpCO0VBNkRZLFloRGphTztFZ0RrYVAsaUNyRDdlMkI7RXFEOGUzQiw2QnRENXBCSyxFQUFBOztBc0Q2bEJqQjtFQW9FWSxZaER2YUY7RWdEd2FFLGlDckRwZjJCO0VxRHFmM0IsY3JEaGtCRSxFQUFBOztBcUQwZmQ7RUEyRVksWWhEN2FJO0VnRDhhSixpQ3JEM2YyQjtFcUQ0ZjNCLGNyRDFsQnVELEVBQUE7O0FxRDZnQm5FO0VBa0ZZLFloRG5iRDtFZ0RvYkMsaUNyRGxnQjJCO0VxRG1nQjNCLGN0RGpyQkssRUFBQTs7QXNENmxCakI7RUF5RlksWWhEemJIO0VnRDBiRyxtQ3JEeGdCK0I7RXFEeWdCL0IsY3ZEOVZ5RCxFQUFBOztBdURtUXJFO0VBZ0dZLFloRC9iSDtFZ0RnY0csaUNyRGhoQjJCO0VxRGloQjNCLDZCdEQvckJLLEVBQUE7O0FzRDZsQmpCO0VBdUdZLFloRHJjRDtFZ0RzY0MsaUNyRHZoQjJCO0VxRHdoQjNCLGNyRDdxQnFCLEVBQUE7O0FxRG9rQmpDO0VBOEdZLFloRDNjRDtFZ0Q0Y0MsaUNyRDloQjJCO0VxRCtoQjNCLGNyRDNxQnFCLEVBQUE7O0FxRDJqQmpDO0VBcUhZLFloRGhkSDtFZ0RpZEcsaUNyRHJpQjJCO0VxRHNpQjNCLGN0RG50QkssRUFBQTs7QXVEYmpCOzs7OztDMURraHhCQztBMER6Z3hCRDtFQUNJLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7RUFGakI7SUFJUSxlQUFlLEVBQUE7RUFKdkI7SUFPUSxrQkFBa0IsRUFBQTtFQVAxQjtJQVVRLG1DdERtUWM7SXNEblFkLDJCdERtUWMsRUFBQTtFc0Q3UXRCO0lBYVEsbUN0RGlRYztJc0RqUWQsMkJ0RGlRYyxFQUFBO0VzRDlRdEI7SUFnQlEsNkJBQTZCO0lBQzdCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsNEJBQ0osRUFBQTs7QTFEdWd4Qko7RTBEbGd4QkksV0FBVztFQUNYLGtCQUFrQixFQUFBO0UxRG9neEJwQjtJMERsZ3hCTSxpQkFBaUIsRUFBQTs7QTFEcWd4QnpCO0UwRGhneEJJLFdBQVcsRUFBQTs7QTFEbWd4QmY7RTBELy93QkksV0FBVztFQUNYLGtCQUFrQixFQUFBOztBQVl0QjtFQUNJLFdBQVc7RUFDWCxlQUFlO0VBQ2YsU0FBUztFQUNULE9BQU87RUFDUCxRQUFRO0VBQ1IsU0FBUztFQUdULFVBQVUsRUFBQTtFL0MrR047SStDeEhSO01BV1EsY0FBYztNQUNkLGNBQWM7TUFDZCw2QnREckRhO01zRHNEYix3QkFBZ0I7Y0FBaEIsZ0JBQWdCLEVBQUEsRUF1Q3ZCO0UvQ3dFTztJK0M3SFI7TUFpQlEsY0FBYyxFQUFBLEVBb0NyQjtFL0N3RU87SStDN0hSO01BcUJRLGFBQWE7TUFDYixZQTdCUTtNQThCUixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLFdBQVc7TUFDWCxTQUFTLEVBQUEsRUEyQmhCO0VBckREO0lBNkJRLFdBQVcsRUFBQTtJL0NnR1g7TStDN0hSO1FBcUNZLDZCQUE2QjtRQUM3QixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLHdCQUF3QixFQUFBLEVBWS9CO0kvQ3lFRztNK0M3SFI7UUFpRGdCLGlCQUFpQixFQUFBLEVBRXhCOztBQUlUO0VBRVEsbUJBQW1CLEVBQUE7O0FBSTNCO0VBQ0ksV0FBVztFQUNYLGtCQUFrQjtFQUNsQix5RHREb0s4QztVc0RwSzlDLGlEdERvSzhDLEVBQUE7RU81RzFDO0krQzNEUjtNQUtRLHdCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQSxFQTBNdkI7RUEvTUQ7SUFRUSxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0IsRUFBQTtJL0M4Q2hCO00rQzNEUjtRQWVZLFNBQVMsRUFBQSxFQUtoQjtJL0M0Q0c7TStDaEVSO1FBa0JZLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0IsRUFBQSxFQUU3QjtFQXBCTDtJQXNCUSxtQkFBVztRQUFYLGlCQUFXO1lBQVgsV0FBVyxFQUFBO0lBdEJuQjtNQTRCZ0IsZ0JBQWdCLEVBQUE7SS9DK0J4QjtNK0MzRFI7UUFpQ3dCLG9CQUEwQixFQUFBO01BakNsRDtRQXNDd0Isc0JBQTRCLEVBQUE7TUF0Q3BEO1FBMkN3QixzQkFBa0MsRUFBQSxFQUNyQztJL0NvQmI7TStDaEVSO1FBa0R3QixvQkFBMEIsRUFBQTtNQWxEbEQ7UUF1RHdCLHNCeERwSkgsRUFBQTtNd0Q2RnJCO1FBNER3QixzQnhEekpILEVBQUEsRXdEMEpBO0VBN0RyQjtJQW9FUSxZQUFZLEVBQUE7SS9DSlo7TStDaEVSO1FBc0VZLFlBMUlJO1FBMklKLGFBM0lJLEVBQUE7UUFvRWhCO1VBeUVnQixhQUFhLEVBQUEsRUFDaEI7SUExRWI7TUFpRmdCLHlCdkQ1TEM7TXVENkxELHlDdEQ0RU07TXNENUVOLGlDdEQ0RU0sRUFBQTtNTzlGZDtRK0NoRVI7VUFvRm9CLHlCdkRoTUgsRUFBQSxFdURrTUo7SUF0RmI7TUF3RmdCLGN0RDFMQztNc0QyTEQsMEJBQTBCO01BQzFCLDhCdERvRU07TXNEcEVOLHNCdERvRU0sRUFBQTtNTzlGZDtRK0NoRVI7VUE0Rm9CLGN0RDlMSCxFQUFBLEVzRGdNSjtJQTlGYjtNQWlHb0IsY3REbk1IO01zRG9NRyw4QnRENERFO01zRDVERixzQnRENERFLEVBQUE7TU85RmQ7UStDaEVSO1VBb0d3QixjdER0TVAsRUFBQSxFc0R3TUE7SUF0R2pCO01BNEdnQix5QnREOU1DLEVBQUE7TU9rS1Q7UStDaEVSO1VBOEdvQix5QnZEek5ILEVBQUEsRXVEMk5KO0lBaEhiO01Ba0hnQixjdEQ1TGlCO01zRDZMakIsMEJBQTBCLEVBQUE7TS9DbkRsQztRK0NoRVI7VUFxSG9CLGN0RHZOSCxFQUFBLEVzRHlOSjtJQXZIYjtNQTBIb0IsY3REcE1hLEVBQUE7TU8wSXpCO1ErQ2hFUjtVQTRId0IsY3REOU5QLEVBQUEsRXNEZ09BO0lBOUhqQjtNQW1JWSxjQUFjO01BQ2QsU0FBUztNQUNULGN0RHZPSztNc0R3T0wsbUI3Q2hLb0Q7TTZDaUtwRCxnQkFBZ0I7TUFDaEIsaUJBQWlCO01BQ2pCLGtCQUFrQixFQUFBO00vQ3pFdEI7UStDaEVSO1VBMklnQixjdERyTmlCO1VzRHNOakIsY0FBYyxFQUFBLEVBRXJCO0lBOUlUO01BaUpZLFlBQVk7TUFDWixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYSxFQUFBOztBL0NsRmpCO0UrQ2hFUjtJQXFKb0IsYUFBYSxFQUFBLEVBb0J4QjtNL0N6R0Q7UStDaEVSO1VBeUpnQixZQUFZLEVBQUEsRUFnQm5CO01BektUO1FBNEpnQixZQUFZO1FBQ1osb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsdUJ0RC9Da0I7UXNEaURsQixnQkFBZ0I7UUFDaEIsY3REcFFDO1FzRHFRRCxjQUFjO1FBQ2QsOEJ0RExNO1FzREtOLHNCdERMTSxFQUFBO1FPL0ZkO1UrQ2hFUjtZQXNLb0IsY3ZEbFJILEVBQUEsRXVEb1JKO0lBeEtiO01BNEtZLFdBQVc7TUFDWCxZQUFZO01BQ1osa0JBQWtCO01BQ2xCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsNEJBQXNCO01BQXRCLDZCQUFzQjtVQUF0QiwwQkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFNBQVM7TUFDVCx5QnZEaFNLO011RGlTTCx5QnREdlJLO01zRHdSTCxVQUFVO01BQ1YseUN0RHhCVTtNc0R3QlYsaUN0RHhCVSxFQUFBO01PcEdkO1ErQzNEUjtVQXlMZ0IsNER0RGpCcUM7a0JzRGlCckMsb0R0RGpCcUM7VXNEa0JyQyx5QnREdFJDLEVBQUEsRXNEeVNSO00vQzdJRDtRK0NoRVI7VUE2TGdCLDRCQUFzQjtVQUF0Qiw2QkFBc0I7Y0FBdEIsMEJBQXNCO2tCQUF0QixzQkFBc0I7VUFDdEIseUJ0RGhTQztVc0RpU0QsaUJBQWlCO1VBQ2pCLHlEdER6QmtDO2tCc0R5QmxDLGlEdER6QmtDLEVBQUEsRXNEc0N6QztNQTdNVDtRQW1NZ0IseUJ0RC9SQztRc0RnU0QsZUFBZTtRQUNmLHFCeER5Q3FELEVBQUE7UXdEOU9yRTtVQXVNb0IsY3hEdUNpRCxFQUFBO1F3RDlPckU7VUEwTW9CLGN4RG9DaUQsRUFBQTs7QXlEdFdyRTs7Ozs7Ozs7Ozs7O0MzRHd2eEJDO0EyRHp1eEJEO0VBS1EsWUFBWTtFQUNaLGtCbER3OUdpQztFa0R2OUdqQyxtQjlDd0V3RDtFOEN2RXhELGdCbERvOUd5QjtFa0RuOUd6Qix3Q2xEazlHa0QsRUFBQTtFRWx6R2xEO0lnRHpLUjtNQVdZLDBCQUFrQjtNQUFsQix1QkFBa0I7TUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7O0FBSUw7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZixTbERnOEdXO0VrRC83R1gsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixtQkFBbUIsRUFBQTtFaERpSmY7SWdEeEpSO01BU1EsY2xENDdHYTtNa0QxN0diLFNBQVM7TUFDVCxpQkFBaUIsRUFBQSxFQThkeEI7RWhEbFZPO0lnRHhKUjtNQWVRLGdCQUFnQjtNQUNoQixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLDhCQUFtQjtNQUFuQiw2QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBLEVBd2QxQjtFQTFlRDtJQXdCWSxZQUFZO0lBRWhCLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUEzQjNCO0lBbUNRLFdBQVcsRUFBQTtJaERxSFg7TWdEeEpSO1FBcUNZLDBCQUFrQjtRQUFsQix1QkFBa0I7UUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7RUF2Q0w7SUEwQ1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWEsRUFBQTtJQTFDckI7TUE0Q1ksWWxEZ1lPO01rRC9YUCxrQkFBa0I7TUFDbEIsaUN2RDRHMkI7TXVEM0czQix3Q2xEMDVHbUQ7TWtEejVHbkQsZUFBZSxFQUFBO0lBaEQzQjtNQW1EWSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGN2RDVESztNdUQ2REwsbUI5Q1FvRCxFQUFBO01GMEZ4RDtRZ0R4SlI7VUF3RGdCLFVBQVUsRUFBQSxFQWlCakI7TUF6RVQ7UUEyRGdCLDBDQUEwQyxFQUFBO01BM0QxRDtRQThEZ0IsV0FBVztRQUNYLFVsRGc0R21EO1FrRC8zR25ELFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsTUFBTTtRQUNOLFNBQVM7UUFDVCxVQUEwRjtRQUMxRixxQkFBcUI7UUFDckIsWUFBWTtRQUNaLHlCdkRyRWlCLEVBQUE7SXVERmpDO01BMkVZLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IsU0FBSyxFQUFBO0VBNUVqQjtJQW1GUSwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQixFQUFBO0loRHFFcEI7TWdEeEpSO1FBc0ZZLFlBQVk7UUFDWiwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQjtRQUNsQix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFJbkIsVUFBVSxFQUFBLEVBY2pCO0lBMUdMO01BK0ZZLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFFbkIsbUI5Q3BDb0Q7TThDcUNwRCxnQmxEdzJHcUI7TWtEdjJHckIsd0NsRHMyRzhDO01rRHIyRzlDLDZCdkRsSFMsRUFBQTtNT3FLYjtRZ0R4SlI7VUF1R2dCLFlBQVksRUFBQSxFQUVuQjtFQXpHVDtJQThHUSxXQUFXO0lBQ1gsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0IsRUFBQTtJaER5Q3BCO01nRHhKUjtRQWtIWSwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQixFQUFBLEVBbUJ6QjtJaERtQkc7TWdEeEpSO1FBMEhnQixVQUFVLEVBQUEsRUFNakI7SUFoSVQ7TUE2SGdCLHdDbEQ0MEcrQztNa0QzMEcvQyxrQkFBa0IsRUFBQTtJQTlIbEM7TUFrSVksU0FBUztNQUNULFVBQVUsRUFBQTtFQW5JdEI7SUF5SVEsV0FBVyxFQUFBO0loRGVYO01nRHhKUjtRQTRJWSxXQUFXLEVBQUEsRUF3QmxCO0lBcEtMO01BZ0pZLG1CQUFPO1VBQVAsV0FBTztjQUFQLE9BQU8sRUFBQTtJaERRWDtNZ0R4SlI7UUF1SmdCLGdCQUFnQjtRQUNoQix1QkFBdUIsRUFBQTtRQXhKdkM7VUEwSm9CLFlBQVksRUFBQSxFQUNmO0lBM0pqQjtNQStKWSxrQmxEOHlHNkI7TWtEN3lHN0IsbUI5Q2xHb0Q7TThDbUdwRCxnQmxEMHlHcUI7TWtEenlHckIsd0NsRHd5RzhDLEVBQUE7RUVsekdsRDtJZ0R4SlI7TUF5S1ksZ0JBQWdCLEVBQUEsRUFZdkI7RWhEN0JHO0lnRHhKUjtNQThLZ0IsWUFBWSxFQUFBLEVBRW5CO0VBaExUO0lBa0xZLDJCQUFrQjtRQUFsQixrQkFBa0I7SUFDbEIsZ0JBQWdCLEVBQUE7RUFuTDVCO0lBeUxRLFdBQVc7SUFDWCwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUVwQixjdkRuTVMsRUFBQTtJTytKVDtNZ0R4SlI7UUE4TFksMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0IsRUFBQSxFQWdDekI7SUE5Tkw7TUFtTVksb0I5Q3JJb0QsRUFBQTtNRjBGeEQ7UWdEeEpSO1VBcU1nQixXQUFXLEVBQUEsRUFFbEI7SUF2TVQ7TUFnTmdCLFdBQVcsRUFBQTtNaER4RG5CO1FnRHhKUjtVQWtOb0IsWWxEOHdHcUI7VWtEN3dHckIsWUFBWSxFQUFBLEVBRW5CO0lBck5iO01BdU5nQixZbER5d0d5QixFQUFBO0lrRGgrR3pDO01BMk5nQixZQUFZLEVBQUE7RUEzTjVCO0lBa09RLFVBQVUsRUFBQTtJaEQxRVY7TWdEeEpSO1FBcU9ZLFVBQVU7UUFFVixTQUFTLEVBQUEsRUE4R2hCO0lBclZMO01BME9ZLFdBQVc7TUFDWCxZQUFZO01BQ1osb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsV2xEK3VHSztNa0Q5dUdMLFNBQVM7TUFDVCxVQUFVO01BQ1YsZ0JBQWdCLEVBQUE7TWhEekZwQjtRZ0R4SlI7VUFtUGdCLFVsRDJ1R0EsRUFBQSxFa0Qxb0dQO01BcFZUO1FBc1BnQixVQUFVO1FBQ1Ysb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLGtCQUFrQixFQUFBO1FoRGxHMUI7VWdEeEpSO1lBNFBvQixTQUFTLEVBQUEsRUFFaEI7TUE5UGI7UUFnUWdCLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsb0RsRDRzRytCO1FrRDFzRzNCLGdCekQ1UUM7UXlEaVJMLHlDdkRyQk07UXVEcUJOLGlDdkRyQk0sRUFBQTtRTy9GZDtVZ0R4SlI7WUEwUW9CLGFBQWEsRUFBQSxFQXlFcEI7UUFuVmI7VUErUW9CLG1EbERtc0d3QjtVa0Rsc0d4Qix5Q3ZEMUJFO1V1RDBCRixpQ3ZEMUJFLEVBQUE7VXVEdFB0QjtZQWtSd0IsMEJsRHNzR00sRUFBQTtRa0R4OUc5QjtVQXNSb0IsbURsRDZyR3lCLEVBQUE7VWtEbjlHN0M7WUF3UndCLHdDbERpc0dxQixFQUFBO1FrRHo5RzdDO1VBNFJvQixvRGxEd3JHNEI7VWtEdnJHNUIsbUJBQW1CLEVBQUE7VUE3UnZDO1lBK1J3Qix3Q2xEMnJHdUIsRUFBQTtRa0QxOUcvQztVQXNTd0IsbUJBQW1CO1VBQ25CLG9EbEQ2cUd3QixFQUFBO1VrRHA5R2hEO1lBeVM0Qix3Q2xEaXJHbUIsRUFBQTtRa0QxOUcvQztVQThTd0IsZUFBZTtVQUNmLG1EbERvcUdxQixFQUFBO1VrRG45RzdDO1lBaVQ0Qix3Q2xEd3FHaUIsRUFBQTtRa0R6OUc3QztVQXdUb0IsV0FBVztVQUNYLFlBQVk7VUFDWixvQkFBYTtVQUFiLG9CQUFhO1VBQWIsYUFBYTtVQUNiLHdCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QjtVQUN2Qix5QkFBbUI7Y0FBbkIsc0JBQW1CO2tCQUFuQixtQkFBbUIsRUFBQTtVQTVUdkM7WUE4VHdCLFdsRGdtR2M7WWtEL2xHZCxZbEQrbEdjO1lrRDlsR2QsWUFBWTtZQUNaLGVsRDZsR2M7WWtENWxHZCxpQ3ZEeEtlO1l1RHlLZix3Q2xEb3BHc0I7WWtEbnBHdEIsY0FBYztZQUNkLDhCdkQ5RUY7WXVEOEVFLHNCdkQ5RUYsRUFBQTtRdUR2UHRCO1VBMlV3QixZbERKSixFQUFPO1FrRHZVM0I7VUFnVndCLFlsRFJILEVBQU87RWtEeFU1QjtJQXdWUSxVQUFVLEVBQUE7SWhEaE1WO01nRHhKUjtRQTJWWSwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQjtRQUVsQixpQkFBaUIsRUFBQSxFQWtFeEI7SWhEdlFHO01nRHhKUjtRQWtXZ0IsY0FBYyxFQUFBLEVBRXJCO0lBcFdUO01Bc1dZLFdBQVc7TUFDWCxZQUFZO01BQ1osb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsU0FBUztNQUNULFVBQVU7TUFDVixnQkFBZ0IsRUFBQTtNQTVXNUI7UUE4V2dCLFlBQVk7UUFDWixjQUFjO1FBQ2QsbURsRG1tRzZCO1FrRGptR3pCLGdCekR2WEM7UXlEeVhMLHlDdkQ3SE07UXVENkhOLGlDdkQ3SE0sRUFBQTtRdUR2UHRCO1VBc1hvQixhQUFhLEVBQUE7UUF0WGpDO1VBeVhvQixtRGxEeWxHd0I7VWtEeGxHeEIseUN2RHBJRTtVdURvSUYsaUN2RHBJRSxFQUFBO1V1RHRQdEI7WUE0WHdCLDBCbEQ0bEdNO1lrRDNsR04sOEJ2RHZJRjtZdUR1SUUsc0J2RHZJRixFQUFBO1F1RHRQdEI7VUFpWW9CLG1EbERrbEd5QixFQUFBO1VrRG45RzdDO1lBbVl3Qix3Q2xEc2xHcUIsRUFBQTtRa0R6OUc3QztVQXVZb0Isb0RsRDZrRzRCLEVBQUE7VWtEcDlHaEQ7WUF5WXdCLHdDbERpbEd1QjtZa0RobEd2QixtQkFBbUIsRUFBQTtNQTFZM0M7UUErWWdCLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLG9CQUFhO1FBQWIsb0JBQWE7UUFBYixhQUFhO1FBQ2Isd0JBQXVCO1lBQXZCLHFCQUF1QjtnQkFBdkIsdUJBQXVCO1FBQ3ZCLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQixxQkFBa0U7UUFDbEUsb0I5Q3hWZ0Q7UThDeVZoRCxnQmxEd2pHd0I7UWtEdmpHeEIsd0NsRCtqRzhCO1FrRDdqRzFCLGdCekQvWkM7UXlEaWFMLDhCdkRyS007UXVEcUtOLHNCdkRyS00sRUFBQTtFTy9GZDtJZ0R4SlI7TUFxYVksaUJBQWlCLEVBQUEsRUFFeEI7RUF2YUw7SUF5YVEsVWxEMmtHTTtJa0Qxa0dOLFdsRG1qR1MsRUFBQTtJRXIwR1Q7TWdEeEpSO1FBNmFZLGNsRHdrR0U7UWtEdmtHRixXQUFXO1FBQ1gsVWxEK2lHSTtRa0Q5aUdKLGlCQUFpQixFQUFBLEVBeUN4QjtJQXpkTDtNQXNiWSxnQkFBZ0I7TUFDaEIsWUFBWTtNQUNaLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsbUJBQVc7VUFBWCxpQkFBVztjQUFYLFdBQVc7TUFDWCxvQkFBaUU7TUFDakUsb0RsRG9oR21DO01rRG5oR25DLHdDbER5aEdrQztNa0R4aEdsQyxvQjlDallvRDtNOENrWXBELGdCbEQrZ0c0QjtNa0Q3Z0d4QixnQnpEdmNLO015RHljVCxxRHZEN01VO011RDZNViw2Q3ZEN01VLEVBQUE7TXVEdlB0QjtRQXNjZ0IsMEJsRGtoR2M7UWtEamhHZCxtRGxEMmdHNEI7UWtEMWdHNUIscUR2RGxOTTtRdURrTk4sNkN2RGxOTSxFQUFBO011RHRQdEI7UUEyY2dCLG1EbER3Z0c2QjtRa0R2Z0c3Qix3Q2xENmdHNkIsRUFBQTtNa0R6OUc3QztRQStjZ0Isb0RsRHFnR2dDO1FrRHBnR2hDLHdDbEQwZ0crQjtRa0R6Z0cvQixtQkFBbUIsRUFBQTtJaER6VDNCO01nRHhKUjtRQXNkZ0IsY0FBYyxFQUFBLEVBRXJCO0VBeGRUO0lBNGRRLFVBQVU7SUFDVixjQUFjO0lBQ2QsY0FBYztJQUNkLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7SWhEdlVSO01nRHhKUjtRQWllWSxVQUFVLEVBQUEsRUFRakI7SUF6ZUw7TUFvZVksa0JBQWtCLEVBQUE7SUFwZTlCO01BdWVZLFdBQVcsRUFBQTs7QUFNdkI7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBRXBCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLFdsRDArRmEsRUFBQTtFRXIwR1Q7SWdEcVZSO01BVVEsMEJBQWtCO01BQWxCLHVCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsWUFBWTtNQUdaLHFCQUF5QjtVQUF6QixrQkFBeUI7Y0FBekIseUJBQXlCO01BQ3pCLFVBQTZEO01BRTdELGlCQUFpQixFQUFBLEVBaUR4QjtFQWxFRDtJQXFCUSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIscUJBQWtFO0lBRWxFLG1COUMzY3dEO0k4QzRjeEQsZ0JsRHE4RmdDO0lrRHA4RmhDLHdDbEQ0OEZzQztJa0QzOEZ0QyxvRGxEcThGdUM7SWtEbjhGbkMsZ0J6RG5oQlM7SXlEcWhCYiw0QnZEelJjO0l1RHlSZCxvQnZEelJjLEVBQUE7SXVEc1B0QjtNQTZDWSxtRGxEdzdGZ0M7TWtEdjdGaEMsMEJsRDY3RmtCO01rRDU3RmxCLFVBQVU7TUFDVixxRHZEdlNVO011RHVTViw2Q3ZEdlNVLEVBQUE7SXVEdVB0QjtNQW1EWSxtRGxEbTdGaUM7TWtEbDdGakMsd0NsRHc3RmlDLEVBQUE7SWtENStGN0M7TUF1RFksb0RsRGc3Rm9DO01rRC82RnBDLHdDbERxN0ZtQyxFQUFBO01rRDcrRi9DO1FBMERnQixtQkFBbUI7UUFDbkIscUJBQXFCLEVBQUE7RUEzRHJDO0lBZ0VRLG9COUMvZXdELEVBQUE7O0E4Q2tmaEU7RUFDSSxrQmxENDVGcUM7RWtEMzVGckMsY2xENDVGNEI7RWtEMzVGNUIsbUI5Q3JmNEQ7RThDc2Y1RCxnQmxEdTVGNkI7RWtEdDVGN0Isd0NsRHE1RnNELEVBQUE7O0FtRHorRzFEOzs7Ozs7Ozs7O0U1RHdveUJFO0E0RDVueUJGO0VBQ0ksYUFBYTtFQUNiLHlCeEQ0QjZCLEVBQUE7RU82SXpCO0lpRDNLUjtNQU9RLFlBQVk7TUFFUixnQjFES1MsRUFBQSxFMERvRHBCO0VBbEVEO0lBYVEsU0FBUztJQUNULGdCbkRrOUk4QjtJbURqOUk5QixtQi9Da0V3RDtJK0NqRXhELGN6RGpCUztJeURrQlQsb0JuRDY4SWtDLEVBQUE7RW1EOTlJMUM7SUFvQlEsU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0IsRUFBQTtJQXRCeEI7TUE0Qlksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0IsRUFBQTtNakQ4STFCO1FpRDNLUjtVQStCZ0IsOEJBQW1CO1VBQW5CLDZCQUFtQjtjQUFuQix1QkFBbUI7a0JBQW5CLG1CQUFtQixFQUFBLEVBTzFCO01qRHFJRDtRaUQzS1I7VUFtQ29CLGtCQUFrQixFQUFBLEVBRXpCO0lBckNiO01Bd0NZLGdCQUFnQjtNQUNoQixtQi9Dd0NvRDtNK0N2Q3BELGN4RFRxQixFQUFBO01PMEl6QjtRaUQzS1I7VUE0Q2dCLFlBQVk7VUFDWixxQkFBcUIsRUFBQSxFQUU1QjtJQS9DVDtNQWlEWSxtQkFBTztVQUFQLFdBQU87Y0FBUCxPQUFPO01BQ1AsbUIvQytCb0QsRUFBQTtFRjBGeEQ7SWlEM0tSO01BdURZLG1CQUFtQixFQUFBLEVBRTFCO0VBekRMO0lBNERRLHlCeERuRFM7SXdEb0RULHFCeER4Q3lCLEVBQUE7RXdEckJqQztJQWdFUSxxQnhEM0N5QixFQUFBOztBd0RnRGpDO0VBRVEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsU0FBUztFQUNULGdCQUFnQixFQUFBO0VqRGlHaEI7SWlEdEdSO01BT1ksUUFBUTtNQUNSLFNBQVMsRUFBQSxFQUVoQjs7QUFWTDtFQVlRLFlBQVk7RUFDWixhQUFhO0VBQ2IsWUFBWSxFQUFBOztBQWRwQjtFQWlCUSxhbkQ4NEkyQjtFbUQ3NEkzQixjbkQ2NEkyQixFQUFBO0VFenpJM0I7SWlEdEdSO01Bb0JZLFlBQVksRUFBQSxFQUVuQjs7QUF0Qkw7RUF3QlEsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixtQi9DZHdEO0UrQ2V4RCxnQkFBZ0I7RUFDaEIsY3hEaEV5QixFQUFBOztBd0RvQ2pDO0VBK0JRLGNBQWM7RUFDZCxvQi9DcEJ3RDtFK0NxQnhELGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7O0FBbEN0QjtFQXFDUSxXQUFXO0VBQ1gsWUFBWTtFQUNaLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsNEJBQTRCLEVBQUE7RUF6Q3BDO0lBMkNZLFFBQVE7SUFDUixTQUFTO0lBQ1QsU0FBUztJQUNULFVBQVU7SUFDVixrQkFBa0IsRUFBQTtFQS9DOUI7SUFrRFksVUFBVTtJQUNWLG1CQUFtQjtJQUNuQixnQ3hEZ0pVO0l3RGhKVix3QnhEZ0pVLEVBQUE7RXdEcE10QjtJQXdEZ0Isc0dBQW9FO0lBQ3BFLFdBQVcsRUFBQTtFQXpEM0I7SUE0RGdCLGtHQUFnRTtJQUNoRSxXQUFXLEVBQUE7RUE3RDNCO0lBaUVZLG1HQUFpRSxFQUFBO0VBakU3RTtJQW9FWSw4RkFBNEQsRUFBQTtFQXBFeEU7SUF1RVksa0dBQWdFLEVBQUE7RUF2RTVFO0lBMEVZLCtGQUE2RCxFQUFBO0VBMUV6RTtJQTZFWSxvR0FBa0UsRUFBQTtFQTdFOUU7SUFpRlksV0FBVztJQUNYLFlBQVksRUFBQTtFQWxGeEI7SUFzRlksV0FBVztJQUNYLFlBQVk7SUFDWixjQUFjO0lBQ2QsV0FBVztJQUNYLGVBQWU7SUFDZixnQ3hEMEdVO0l3RDFHVix3QnhEMEdVLEVBQUE7SXdEck10QjtNQTZGZ0IsVUFBVTtNQUNWLGdDeERzR007TXdEdEdOLHdCeERzR00sRUFBQTtJd0RwTXRCO01BaUdnQixXQUFXLEVBQUE7O0FBTzNCO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VqREpmO0lpREVSO01BSVEsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUIsRUFBQSxFQXFCOUI7RUF6QkQ7SUFPUSw4RkFBb0IsRUFBQTtFQVA1QjtJQVVRLGlHQUFvQixFQUFBO0VBVjVCO0lBYVEsK0ZBQW9CLEVBQUE7RUFiNUI7SUFnQlEsbUdBQW9CLEVBQUE7RUFoQjVCO0lBbUJRLFdBQVc7SUFDWCxhbkRteUkyQjtJbURseUkzQixjbkRreUkyQjtJbURqeUkzQiwwQ0FBMEM7SUFDMUMsY0FBYyxFQUFBOztBQUl0QjtFQUdZLGVBQWUsRUFBQTs7QWpEaENuQjtFaUQ2QlI7SUFPZ0IsZUFBZSxFQUFBLEVBQ2xCOztBQVJiO0VBV1ksWW5EbUtHO0VtRGxLSCx1QnhET3NCLEVBQUE7O0F3RG5CbEM7RUFlWSxZbkQ4SmM7RW1EN0pkLHVCeERHc0IsRUFBQTs7QXdEbkJsQztFQW1CWSxZbkR5Sk87RW1EeEpQLHVCeEREc0IsRUFBQTs7QXdEbkJsQztFQXVCWSxZbkR3SkU7RW1EdkpGLHVCeERMc0IsRUFBQTs7QXdEVWxDO0VBQ0ksbUJBQW1CLEVBQUE7RWpEM0RmO0lpRDBEUjtNQUdRLGNBQWMsRUFBQSxFQWtMckI7RUFyTEQ7SUFPUSxpQkFGMEI7SUFHMUIsb0JBSDBCO0lBSTFCLG1CQUFtQixFQUFBO0VqRG5FbkI7SWlEMERSO01BYVksY0FBYyxFQUFBLEVBRXJCO0VBZkw7SUFpQlEsVUFBVSxFQUFBO0lqRDNFVjtNaUQwRFI7UUFtQlksV0FBNkQsRUFBQSxFQU1wRTtJQXpCTDtNQXNCWSxrQkFBa0I7TUFDbEIsYUFsQnNCLEVBQUE7RUFMbEM7SUEyQlEsc0JBQXNCLEVBQUE7RUEzQjlCO0lBK0JRLFdBQVcsRUFBQTtJakQ5Rlg7TWlEK0RSO1FBaUNZLG1CQUFtQixFQUFBO1FBakMvQjtVQW1DZ0IsY3hEdk9pQjtVd0R3T2pCLGtCL0N4TGdEO1UrQ3lMaEQsZ0JBQWdCLEVBQUEsRUFDbkI7SWpEaEdMO01pRDBEUjtRQXlDWSxTQUFTLEVBQUEsRUFFaEI7RWpEckdHO0lpRDBEUjtNQThDWSxVQUFVO01BQ1YsZ0JBQWdCLEVBQUEsRUFFdkI7RWpEM0dHO0lpRDBEUjtNQXFEZ0IsVUFBVSxFQUFBLEVBRWpCO0VBdkRUO0lBMERRLFVBQVUsRUFBQTtJakR6SFY7TWlEK0RSO1FBNERZLFVBQVUsRUFBQSxFQWdCakI7SWpEM0lHO01pRCtEUjtRQWdFZ0IsY0FBYztRQUNkLGUvQ3JOZ0Q7UStDc05oRCxnQkFBZ0I7UUFDaEIsY3hEdlFpQjtRd0R3UWpCLGNBQWMsRUFBQSxFQUNqQjtJakQvSEw7TWlEMERSO1FBeUVZLFlBQVk7UUFDWixnQkFBZ0IsRUFBQSxFQUV2QjtFakR0SUc7SWlEMERSO01BK0VZLFlBQVk7TUFDWixnQkFBZ0IsRUFBQSxFQUV2QjtFakQ1SUc7SWlEMERSO01BcUZZLFVBQVU7TUFDVixnQkFBZ0IsRUFBQSxFQUV2QjtFakRsSkc7SWlEMERSO01BMkZZLFVBQVU7TUFDVixnQkFBZ0IsRUFBQSxFQUV2QjtFakR4Skc7SWlEMERSO01BaUdZLFdBQVcsRUFBQSxFQUVsQjtFakQ3Skc7SWlEMERSO01Bc0dZLFdBQVcsRUFBQSxFQUVsQjtFakRsS0c7SWlEMERSO01BMkdZLFNBQVMsRUFBQSxFQUVoQjtFakR2S0c7SWlEMERSO01BZ0hZLFNBQVMsRUFBQSxFQUVoQjtFQWxITDtJQW9IUSxnQkFBZ0IsRUFBQTtJakQ5S2hCO01pRDBEUjtRQXNIWSxTQUFTO1FBQ1Qsa0JBQWtCLEVBQUEsRUFFekI7RWpEbkxHO0lpRDBEUjtNQTRIWSxTQUFTLEVBQUEsRUFFaEI7RUE5SEw7SUFpSVksU0FBUztJQUNULFVBQVUsRUFBQTtFakQ1TGQ7SWlEMERSO01BcUlZLFVBQVU7TUFDVixnQkFBZ0IsRUFBQSxFQUV2QjtFakRsTUc7SWlEMERSO01BMklZLGdCQUFnQixFQUFBLEVBRXZCO0VqRHZNRztJaUQwRFI7TUFnSlksbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQixnQkFBZ0IsRUFBQSxFQUV2QjtFakQ5TUc7SWlEMERSO01BdUpZLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsZ0JBQWdCLEVBQUEsRUFFdkI7RUEzSkw7SUE2SlEsZUFBZTtJQUNmLGtCQUFrQixFQUFBO0lqRHhObEI7TWlEMERSO1FBZ0tZLGtCQUFrQixFQUFBLEVBRXpCO0VBbEtMO0lBcUtRLFVBQVUsRUFBQTtFQXJLbEI7SUF5S1EsdUJBQXVCLEVBQUE7RTFENUYzQjtJMERpR1ksV0FBVyxFQUFBO0lBOUszQjtNQWdMb0IsVUFBVSxFQUFBOztBQU85QjtFQUVRLFdBQVcsRUFBQTtFQUZuQjtJQUlZLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTs7QUFMN0I7RUFTUSxVQUFVO0VBQ1YscUJBQXFCLEVBQUE7O0FBSzdCO0VBQ0ksV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsYUFBYTtFQUViLHlCQUF5QjtFQUN6QixpQ0FBaUMsRUFBQTtFakR2UTdCO0lpRGdRUjtNQVNRLGNBQWMsRUFBQSxFQStKckI7RUF4S0Q7SUFZUSx1QnhENU4wQjtJd0Q2TjFCLGVuRG1pSXFCO0ltRGxpSXJCLGN4RG5ZMkMsRUFBQTtFd0RxWG5EO0lBa0JRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsYUFBYSxFQUFBO0lBckJyQjtNQXVCWSxlQUFlLEVBQUE7RUF2QjNCO0lBK0JRLFluRGxFa0IsRUFBTztFbURtQ2pDO0lBcUNRLFluRHZFZSxFQUFPO0VtRGtDOUI7SUEyQ1EsWW5ENUVZLEVBQU87RW1EaUMzQjtJQWlEUSxZbkRqRnNCLEVBQU87RW1EZ0NyQztJQXVEUSxZbkR0RmdCLEVBQU87RW1EK0IvQjtJQTZEUSxZbkQzRmUsRUFBTztFbUQ4QjlCO0lBbUVRLFluRGhHZ0IsRUFBTztFbUQ2Qi9CO0lBeUVRLFluRHJHcUIsRUFBTztFbUQ0QnBDO0lBK0VRLFluRDFHZSxFQUFPO0VtRDJCOUI7SUFxRlEsWW5EL0dnQixFQUFPO0VtRDBCL0I7SUEyRlEsWW5EcEhrQixFQUFPO0VtRHlCakM7SUFpR1EsWW5EekhjLEVBQU87RW1Ed0I3QjtJQXVHUSxZbkQ5SDBCLEVBQU87RW1EdUJ6QztJQTZHUSxZbkRuSW1CLEVBQU87RW1Ec0JsQztJQW1IUSxZbkR4SVksRUFBTztFbURxQjNCO0lBeUhRLFluRDdJMkIsRUFBTztFbURvQjFDO0lBK0hRLFluRGxKZ0IsRUFBTztFbURtQi9CO0lBcUlRLFluRHZKc0IsRUFBTztFbURrQnJDO0lBMklRLFluRDVKcUIsRUFBTztFbURpQnBDO0lBaUpRLFluRGpLcUIsRUFBTztFbURnQnBDO0lBdUpRLFluRHRLYyxFQUFPO0VtRGU3QjtJQTZKUSxZbkQzS2tCLEVBQU87RW1EY2pDO0lBZ0tRLFluRDdLYyxFQUFPO0VtRGE3QjtJQXNLUSxZbkRsTGdCLEVBQU87O0FtRHNML0I7RUFDSSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7RWpENWFWO0lpRDBhUjtNQUlRLGNBQWMsRUFBQSxFQTBCckI7RUE5QkQ7SUFPUSxpQ3hEL2ErQjtJd0RnYi9CLGVuRDgzSHFCO0ltRDczSHJCLGN4RHhpQjJDLEVBQUE7RXdEK2hCbkQ7SUFhUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLGFBQWEsRUFBQTtJQWhCckI7TUFrQlksZUFBZSxFQUFBO0VBbEIzQjtJQXNCUSxZbkR0T2MsRUFBTztFbURnTjdCO0lBeUJRLFluRHhPZ0IsRUFBTztFbUQrTS9CO0lBNEJRLFluRDFPZSxFQUFPOztBbUQ4TzlCO0VBQ0ksY25ENDJIc0MsRUFBQTs7QW9ELytJMUM7OztDN0RraXpCQztBNkQ3aHpCRDtFQUNJLFdwRG9vSlc7RW9Ebm9KWCxZcER1b0pXO0VvRHRvSlgsZUFBZTtFQUVYLFdwRDBvSk87RW9Eem9KUCxZQUE4RDtFQU1sRSxhQUFhLEVBQUE7RWxEdUtUO0lrRG5MUjtNQWNRLFdwRHduSk87TW9Edm5KUCxZcEQybkpPO01vRHpuSkgsV3BEK25KRztNb0Q5bkpILFlBQThELEVBQUEsRUFPekU7O0FBRUQ7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFVBQVU7RUFDVixlQUFlO0VBQ2YsNEJ6RGtQa0I7RXlEbFBsQixvQnpEa1BrQixFQUFBO0V5RHZQdEI7SUFPUSxZcEQ0UEE7SW9EM1BBLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQnBEMG1Kd0I7SW9Eem1KeEIseUIxRGxDUztJMERtQ1QsZXBEdWxKTztJb0R0bEpQLGlDekQwSStCO0l5RHpJL0IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixtQnpENEI2RDtJeUQzQjdELGMxRHhDUztJMER5Q1QsNEJ6RGtPYztJeURsT2Qsb0J6RGtPYyxFQUFBO0lPL0ZkO01rRHhKUjtRQXVCWSxlcERnbEpHLEVBQUEsRW9EOWtKVjtFQXpCTDtJQTJCUSxVQUFVO0lBQ1YsZ0N6RDBOYztJeUQxTmQsd0J6RDBOYyxFQUFBO0l5RHRQdEI7TUFpQ2dCLG1CMURyREM7TTBEdURMLGN6RDdDSztNeUQ4Q0wseUR6RDJOc0M7Y3lEM050QyxpRHpEMk5zQztNeUQxTnRDLHFCMUR6REs7TTBEMERMLDRCekRnTlU7TXlEaE5WLG9CekRnTlUsRUFBQTtFeUR0UHRCO0lBMkNZLG1CMUQ5REs7STBEK0RMLGN6RHRESztJeUR1REwscUIxRGhFSztJMERpRUwsNEJ6RHdNVTtJeUR4TVYsb0J6RHdNVSxFQUFBO0V5RHRQdEI7SUFrRFEsV0FBVyxFQUFBOztBQ2xGbkI7OztDOUQ4bHpCQztBOER6bHpCRDtFQUVJLFNBQVMsRUFBQTtFQUZiO0lBTWdCLFlyRHdSUixFQUFPO0VxRDlSZjtJQVVZLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLG1DMURvUVU7STBEcFFWLDJCMURvUVUsRUFBQTtFMERqUnRCO0lBZ0JZLGNBQWMsRUFBQTtFQWhCMUI7SUFzQlksMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUIsRUFBQTtJQXRCL0I7TUF3QmdCLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsMkQxRHVQTTtNMER2UE4sbUQxRHVQTSxFQUFBO0UwRGpSdEI7SUFnQ1EsbURBQW1EO0lBQ25ELFdBQVc7SUFDWCxtQkFBbUIsRUFBQTtJQWxDM0I7TUFvQ1ksbUJBQW1CLEVBQUE7TUFwQy9CO1FBc0NnQixjNUQyVHFELEVBQUE7O0E0RHJUckU7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlLEVBQUE7RUFKbkI7SUFNUSxZckQ4T0U7SXFEN09GLGlCQUFpQjtJQUNqQixpQzFEaUkrQjtJMERoSS9CLGVyRCt1SW9DO0lxRDl1SXBDLGMzRC9DUztJMkRnRFQsaUJyRDR1STZCLEVBQUE7O0FxRHh1SXJDO0VBQ0ksYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQzFEb05rQjtFMERwTmxCLDJCMURvTmtCLEVBQUE7RU8vRmQ7SW1EeEhSO01BS1EsU0FBUyxFQUFBLEVBU2hCO0VBZEQ7SUFRUSxTQUFTO0lBQ1QsbUJqRHFCd0QsRUFBQTtFaUQ5QmhFO0lBWVEsbUJBQW1CLEVBQUE7O0FBSTNCO0VBQ0ksYUFBYSxFQUFBOztBQ2pGakI7Ozs7OztDL0Q0cHpCQztBK0RwcHpCRDtFQUNJLGtCQUFrQixFQUFBOztBQUd0QjtFQUNJLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGdCQUFnQixFQUFBO0VwRHdLWjtJb0Q1S1I7TUFNUSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQixFQUFBLEVBMkJ6QjtFQWpDRDtJQVNRLDBHQUFrRTtJQUFsRSwwRUFBa0U7WUFBbEUsa0dBQWtFO1lBQWxFLGtFQUFrRSxFQUFBO0lwRG1LbEU7TW9ENUtSO1FBV1ksZUFBZSxFQUFBO1FBWDNCO1VBYWdCLGVBQWU7VUFDZixZQUFZO1VBQ1osa0JBQWtCO1VBQ2xCLE1BQU07VUFDTixPQUFPO1VBQ1Asb0JBQWE7VUFBYixvQkFBYTtVQUFiLGFBQWE7VUFDYix5QkFBbUI7Y0FBbkIsc0JBQW1CO2tCQUFuQixtQkFBbUI7VUFDbkIsbUJBQW1CO1VBQ25CLGtCQUFrQjtVQUNsQix5QjNEWkM7VTJEYUQsc0JBQXNCO1VBQ3RCLGlCQUFpQjtVQUNqQiw0RDNEMlBxQztrQjJEM1ByQyxvRDNEMlBxQztVMkQxUHJDLFVBQVU7VUFDVix3QkFBZ0I7a0JBQWhCLGdCQUFnQjtVQUVoQixVQUFVLEVBQUEsRUFDYjs7QUMxQ2I7OztDaEVrc3pCQztBZ0V6cnpCRztFQUNJLDJDQUFtQjtFQUNuQiwwQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLDRCQUFvQjtVQUFwQixvQkFBb0IsRUFBQTtFQUh4QjtJQUtRLHVCQUFlO1lBQWYsZUFBZTtJQUNmLGtDQUEwQjtZQUExQiwwQkFBMEIsRUFBQTs7QUFHbEM7RUFDSTtJQUNJLDBCQUFrQjtZQUFsQixrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQSxFQUFBOztBQXRCekI7RUFDSTtJQUNJLDBCQUFrQjtZQUFsQixrQkFBa0IsRUFBQTtFQUd0QjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQTtFQUdyQjtJQUNJLHlCQUFpQjtZQUFqQixpQkFBaUIsRUFBQSxFQUFBOztBQU03QjtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsY0FBYztFQUNkLDZCNURsQ2lCO0U0RG1DakIsWUFBWSxFQUFBOztBQ3REaEI7Ozs7O0NqRXd1ekJDO0FXaGp6Qk87RVNqS1I7STZDYlksYUFBYSxFQUFBLEVBRXBCOztBQUVEO0VBQ0ksWUFBWTtFQUNaLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQix5QjdEV3dCO0U2RFZ4QixnQzdEa1FjO0U2RGxRZCx3QjdEa1FjLEVBQUE7RTZEelFsQjtJQVNRLFdBQVc7SUFDWCx1RDdEOFBVO0k2RDlQViwrQzdEOFBVLEVBQUE7RTZEeFFsQjtJQWFRLHlCN0RDSyxFQUFBO0U2RGRiO0lBaUJRLGFBQWE7SUFDYixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFwQjNCO01Bc0JZLFdBQVcsRUFBQTs7QUFLdkI7RUFDSSxtQkFBbUIsRUFBQTtFdEQ4SW5CO0lzRC9JSjtNQUdRLG1CQUFtQixFQUFBLEVBRzFCOztBQUNEO0VBQ0ksaUJBQWlCLEVBQUE7RUFEckI7SUFLZ0IsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixnQzdEM0JILEVBQUE7RTZEb0JiO0lBYVEsVUFBVTtJQUNWLGdCQUFnQixFQUFBOztBQUl4QjtFQUVRLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixtQkFBZTtNQUFmLGVBQWUsRUFBQTs7QUFJdkI7RUFDSSxxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLHlCN0Q5Q3dCLEVBQUE7RTZEMkM1QjtJQUtRLGNBQWMsRUFBQTtFQUx0QjtJQVFRLGNBQWM7SUFDZCxhQUFhO0lBQ2IseUM3RG1NVTtJNkRuTVYsaUM3RG1NVSxFQUFBO0k2RDdNbEI7TUFZWSw4QjdEaU1NO002RGpNTixzQjdEaU1NLEVBQUE7STZEN01sQjtNQWVZLHlDN0Q2TE07TTZEN0xOLGlDN0Q2TE0sRUFBQTtNNkQ1TWxCO1FBaUJnQixjOUQ5RUg7UThEK0VHLDhCN0QwTEU7UTZEMUxGLHNCN0QwTEUsRUFBQTtJNkQ1TWxCO01Bc0JZLHlCOURwRkMsRUFBQTtNOEQ4RGI7UUF3QmdCLGM3RDVFSCxFQUFBOztBNkRtRmI7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGtCQUFrQixFQUFBO0V0RDZFbEI7SXNEL0VKO01BSVEsbUJBQW1CLEVBQUEsRUFFMUI7O0FBRUQ7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLHlCN0R4RlMsRUFBQTtFTzRKVDtJc0R2RUo7TUFLUSxhQUFhLEVBQUEsRUFFcEI7O0FBRUQ7RUFFUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBO0V0RDJEMUI7SXNEOURKO01BS1ksOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHlCQUE4QjtVQUE5QixzQkFBOEI7Y0FBOUIsOEJBQThCLEVBQUEsRUFXckM7RUFqQkw7SUFVWSxlQUFlO0lBQ2YsYUFBYTtJQUNiLHlCN0QxR0MsRUFBQTtJTzRKVDtNc0Q5REo7UUFjZ0IsY0FBYyxFQUFBLEVBRXJCOztBQVliO0VBQ0ksZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYix5QjdEN0hhO0U2RDhIYix5QjdENUc2QixFQUFBOztBNkQrR2pDO0VBR1EsU0FBSyxFQUFBOztBdER3Qkw7RXNEcEJSO0lBSWdCLE1BQU0sRUFBQSxFQUViOztBQUlUO0VBQ0ksa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxjQUFjLEVBQUE7RUFIbEI7SUFLUSxNQUFNLEVBQUE7RUFMZDtJQVNRLFNBQVMsRUFBQTs7QUFJakI7RUFDSSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsU0EvQ2lDO0VBZ0RqQyxhQWhEaUM7RUFpRGpDLHlCN0R0S2E7RTZEdUtiLFlBQVk7RUFDWixVQUFVO0VBQ1YsZ0M3RGtGa0I7RTZEbEZsQix3QjdEa0ZrQixFQUFBO0U2RDVGdEI7SUFZUSxVQUFVO0lBQ1YsZ0M3RDhFYztJNkQ5RWQsd0I3RDhFYyxFQUFBO0U2RDNGdEI7SUFpQlEseUI3RHRMUztJNkR1TFQseUM3RDBFYztJNkQxRWQsaUM3RDBFYyxFQUFBO0k2RDVGdEI7TUFvQlkseUI5RG5NSztNOERvTUwseUM3RHNFVTtNNkR0RVYsaUM3RHNFVSxFQUFBO002RDNGdEI7UUF1QmdCLGM3RDVMQztRNkQ2TEQscUI3RDdMQztRNkQ4TEQsaUQ3RGtFTTtRNkRsRU4seUM3RGtFTSxFQUFBO0k2RDNGdEI7TUE2QlksY0FBYztNQUNkLGlCQUFpQjtNQUNqQixjOUQ5TUs7TThEK01MLGlDN0RqQzJCO002RGtDM0IsZUFBZTtNQUNmLHlCOURqTkssRUFBQTtJOEQrS2pCO01Bc0NnQixnQkFBZ0IsRUFBQTs7QUFNaEM7RUFDSSxlQUFlO0VBQ2YsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixhQUFhLEVBQUE7RXREeERUO0lzRG9EUjtNQU1RLFlBQVksRUFBQSxFQTREbkI7RUFsRUQ7SUFTUSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdDN0R0TlMsRUFBQTtFNkQyTWpCO0lBY1EseUI3RHpOUyxFQUFBO0U2RDJNakI7SUFpQlEsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix5QjdEcE9TO0k2RHFPVCx5QjlEL09TLEVBQUE7SThEMk5qQjtNQXNCWSxnQkFBZ0IsRUFBQTtNQXRCNUI7UUF3QmdCLG9CcERqS2dELEVBQUE7SW9EeUloRTtNQTRCWSxhQUFhO01BQ2IsWUFBWTtNQUNaLHlCN0R6T0ssRUFBQTtJNkQyTWpCO01BaUNZLFNBQVM7TUFDVCxVQUFVLEVBQUE7TUFsQ3RCO1FBcUNvQixpQkFBaUIsRUFBQTtJQXJDckM7TUEwQ1ksVUFBVTtNQUNWLG9CcERwTG9EO01vRHFMcEQsZ0JBQWdCLEVBQUE7SUE1QzVCO01BK0NZLGNBQWMsRUFBQTtJQS9DMUI7TUFtRFksYzdENU9xQixFQUFBO0k2RHlMakM7TUFzRFksYUFBYTtNQUNiLGM5RGxSSyxFQUFBO0k4RDJOakI7TUEwRFksYzlEclJLO004RHNSTCxtQkFBbUIsRUFBQTtNQTNEL0I7UUE2RGdCLFlBQVk7UUFDWixxQkFBcUIsRUFBQTs7QUNyU3JDOzs7Ozs7OztDbEU2N3pCQztBa0VqN3pCRDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLG1CQUFtQixFQUFBO0V2RHlLZjtJdUQ1S1I7TUFLUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUIsRUFBQSxFQTJENUI7RUFqRUQ7SUFTUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixtQkFBZTtRQUFmLGVBQWU7SUFDZixlQUFlLEVBQUE7SXZEZ0tmO011RDVLUjtRQWNZLFdBQVcsRUFBQSxFQVlsQjtJQTFCTDtNQWlCWSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLG1CckQrRG9EO01xRDlEcEQsZ0J6RDI4R3FCO015RDE4R3JCLHdDekR5OEc4QyxFQUFBO01FbHpHbEQ7UXVENUtSO1VBdUJnQixXQUFXLEVBQUEsRUFFbEI7RUF6QlQ7SUE0QlEsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTtFQTVCcEI7SUFpQ2dCLG1CckRpRGdELEVBQUE7RXFEbEZoRTtJQWlDZ0IsbUJyRGlEZ0QsRUFBQTtFcURsRmhFO0lBaUNnQixtQnJEaURnRCxFQUFBO0VxRGxGaEU7SUFpQ2dCLG1CckRpRGdELEVBQUE7RXFEbEZoRTtJQWlDZ0IsbUJyRGlEZ0QsRUFBQTtFRjBGeEQ7SXVENUtSO01Bb0NnQix1QkFBc0IsRUFBQSxFQUU3QjtFdkRzSUQ7SXVENUtSO01BMENZLGlCQUFpQixFQUFBLEVBV3hCO0VBckRMO0lBOENnQixZekQyVEo7SXlEMVRJLGtCQUFrQjtJQUNsQixpQzlEOEh1QjtJOEQ3SHZCLGVBQWU7SUFDZixjOURFbUMsRUFBQTtFOERwRG5EO0lBdURRLGlCQUFpQjtJQUNqQixlckQwQndEO0lxRHpCeEQseUJBQXlCO0lBQ3pCLGtCQUFrQixFQUFBO0l2RGtIbEI7TXVENUtSO1FBNERZLGNBQWMsRUFBQSxFQUVyQjs7QUFNTDtFQUNJLGFBQWE7RUFDYixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLG1DOURpTWtCO0U4RGpNbEIsMkI5RGlNa0IsRUFBQTtFTy9GZDtJdUR4R1I7TUFRUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUIsRUFBQSxFQVkxQjtFQXBCRDtJQVdRLGdCQUFnQjtJQUNoQiwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQixtQkFBbUIsRUFBQTtJdkQyRm5CO011RHhHUjtRQWVZLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsbUM5RHFMVTtROERyTFYsMkI5RHFMVSxFQUFBLEU4RG5MakI7O0FBSUw7RUFDSSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLHlCOURoRTZCLEVBQUE7RU82SXpCO0l1RGpGUjtNQU1RLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsa0JBQWtCLEVBQUEsRUFnRHpCO0VBeEREO0lBV1EsU0FBUztJQUNULFVBQVU7SUFDVixnQkFBZ0IsRUFBQTtFQWJ4QjtJQWdCUSxvQkFBb0I7SUFDcEIsZ0M5RHRGeUIsRUFBQTtFOERxRWpDO0lBb0JRLG1CQUFtQixFQUFBO0lBcEIzQjtNQXNCWSxxQnJEL0JvRCxFQUFBO0VxRFNoRTtJQTBCUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixzQkFBcUI7UUFBckIsbUJBQXFCO1lBQXJCLHFCQUFxQixFQUFBO0V2RHFEckI7SXVEakZSO01BZ0NZLG1CQUFtQjtNQUNuQixnQkFBZ0IsRUFBQSxFQXNCdkI7RUF2REw7SUFvQ1ksbUJyRDdDb0Q7SXFEOENwRCxnQkFBZ0I7SUFDaEIsYzlEL0ZxQixFQUFBO0U4RHlEakM7SUF5Q1ksbUJyRGxEb0QsRUFBQTtJcURTaEU7TUEyQ2dCLG1CQUFtQixFQUFBO0lBM0NuQztNQThDZ0IsZ0JBQWdCLEVBQUE7RUE5Q2hDO0lBa0RZLG1CckQzRG9ELEVBQUE7SXFEU2hFO01Bb0RnQixpQkFBaUIsRUFBQTs7QUFNakM7RXREdU5JLHFDQUFnQztFQXVCNUIsV3NEN08ySztFdEQ2UC9LLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLHFEQUFrRTtFQUVsRSwrQ0FBK0M7RUFDL0MsY1RoYWE7RVNpYWIseUJIb2RrRTtFR25kbEUsaUJIK2M0QjtFRzljNUIsa0JDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0l1RGxCUjtNdER5U1ksNkNBQW9FLEVBQUEsRXNEdlMvRTtFdkRxQk87SXVEdkJSO010RDZTUSwwQnNENVMrTDtNdEQ0Uy9MLHVCc0Q1UytMO010RDRTL0wsa0JzRDVTK0w7TXRENlMvTCw0Q0FBa0UsRUFBQSxFc0Q1U3pFO0V0RGlURztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUM2NLO01TNmNELHFCUnpabUM7TVE2WnZDLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRqZVM7SVNtZUwscUJUbmVLO0lTdWVULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QThEakh0QjtFQUNJLGlCQUFpQjtFQUNqQixjQUFjLEVBQUE7RUFGbEI7SUFJUSxZekQrTk07SXlEOU5OLGlDOURlK0I7SThEZC9CLGVBQWU7SUFDZixjOUR2RzJDO0k4RHdHM0MsOEI5RHlHYztJOER6R2Qsc0I5RHlHYyxFQUFBO0U4RGpIdEI7SUFZWSxjL0RyS0s7SStEc0tMLDhCOURtR1U7SThEbkdWLHNCOURtR1UsRUFBQTtFOERoSHRCO0lBa0JZLGMvRDVLSyxFQUFBOztBK0RnTGpCO0VBQ0ksZ0JBQWdCO0VBQ2hCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVksRUFBQTtFdkRQUjtJdURJUjtNQUtRLGlCQUFpQjtNQUNqQiwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQixFQUFBLEVBRTNCOztBQUNEO0VBQ0ksbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFDWix5QjlEeEs0QjtFOER5SzVCLDJDOUQrRWtCO0U4RC9FbEIsbUM5RCtFa0I7RThEL0VsQiwyQjlEK0VrQjtFOEQvRWxCLG9EOUQrRWtCLEVBQUE7RThEbEZ0QjtJQUtRLHlEOURxRjBDO1k4RHJGMUMsaUQ5RHFGMEM7SThE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YTJEelorUztFM0QyWjNTLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBR3ZCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBR2hCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSblphO0VRb1piLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixvQkNqVjREO0VEa1Y1RCxnQkg0SStCO0VHM0kvQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVEwUWQ7Ozs7Ozs7O1NadW8wQkMsRVkvbjBCQztFRGpYRjtJNERuTFI7TTNEeWNRLDBCMkR4Y2lTO00zRHdjalMsdUIyRHhjaVM7TTNEd2NqUyxrQjJEeGNpUztNM0R5Y2pTLDRDQUFrRSxFQUFBLEUyRHhjekU7RTNENmNHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlQxY0s7TVM0Y0QscUJUNWNDO01TZ2RMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVEwTU47UUFDQyxjUjNjQTtRUTRjQSw4QlI1TUs7UVE0TUwsc0JSNU1LLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRsZVM7SVNvZUwscUJUcGVLO0lTd2VULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtJUWdPVjtNQUNDLGNSamVJLEVBQUE7RVFxZWI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFB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K0I1Qjs7RXdGdG4vQkUsY0FBYztFQUNkLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGlCQUxzSjtFQU10SixnQjNFRzhEO0UyRUY5RCxldkUyWCtCO0V1RXpYL0IseUJ0RndRbUU7RXNGdlFuRSxnQi9FNGNvRTtFK0UzY3BFLHlCcEYxRWU7RW9GMkVmLHFCdkV1WGM7VXVFdlhkLGF2RXVYYztFdUVyWGQsdURwRnVFMkQ7RW9GdEUzRCxtQjNFTjhEO0UyRU85RCxtQnZFUDJCO0V1RVEzQixnQi9FM0R1QjtFK0U0RHZCLGNwRnpEK0I7RW9GNEQ3Qiw4RHBGNktrQjtFb0Y3S2xCLHNEcEY2S2tCO0VvRjdLbEIsOENwRjZLa0I7RW9GN0tsQix1RXBGNktrQjtFb0Z4SmxCLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXhGaW0vQmxCOztJd0Zqbi9CRSxhQUFhO0lBQ2IseUJ0RnNQaUU7SXNGclBqRSx5QnBGM0ZhO0lvRjRGYiw0RHBGOEtpRDtZb0Y5S2pELG9EcEY4S2lEO0lvRjNLL0MsOERwRmtLZ0I7SW9GbEtoQixzRHBGa0tnQjtJb0ZsS2hCLDhDcEZrS2dCO0lvRmxLaEIsdUVwRmtLZ0IsRUFBQTs7QWlGckVwQjtFRzlFRSxlQUFlLEVBQUE7RUFEakI7SUFJSSxZQUFZLEVBQUE7O0FBSWhCOzs7RUFLSSxtRC9FK2pCeUM7RStFOWpCekMsbUJ2RXlVNkIsRUFBQTs7QWpCeXgrQm5DOztFd0YzbC9CSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixnQnRGOUhpQixFQUFBOztBYzI5RXJCO0V3RXgxRUksOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBQWlCeEI7RUFDRSxjcEZ4STZCLEVBQUE7O0FvRnVJL0I7RUFDRSxjcEZ4STZCLEVBQUE7O0FvRnVJL0I7RUFDRSxjcEZ4STZCLEVBQUE7O0FvRnVJL0I7RUFDRSxjcEZ4STZCLEVBQUE7O0FvRnVJL0I7RUFDRSxjcEZ4STZCLEVBQUE7O0FKc3QvQmpDOzs7RXlGbHYvQkksZ0I1RWtG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RVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QXRGMEZDO0VzRmpIRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0V2RXZHTSx1QkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00sc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDRCQXREMEU7SUg5RXhFLHNCQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSwyQkF0RDBFO01IOUV4RSxxQkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsV0EzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFdBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxnQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7O0FBOENIO0V2RTNJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRlJOO012RTNJTSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFZ0poRTs7QUFJRDtFdkVwSkksd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZDSjtNdkVwSkksdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RXNKaEU7O0FBWEg7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUySmhFOztBRTNKSDtFdEU2SUUsV3FFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxVcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsZ0JxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFlxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFd0ZuSk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RXRFNklFLDRCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLDJCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsNkJBdEQwRSxFQUFBOztBbEI0RHRFO0V3Rm5KTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0F4RnNKSztFd0Z4Sk47SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBRnFNRztFRzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUE7RXZGa0M1RDtJeUYvSEk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBSHVMUDtFRzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6RjhHOUI7RXNGb0RGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZtSkM7RXlGeElJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGc0lMO0V5Ri9ISTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGNkhMO0VzRjBERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6RmlIQztFc0YrQ0Y7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6RndKQztFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXNGcURGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSG9MRDtFSW5NRixlQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsb0NBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixxQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDBDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QTFGMkh6QjtFc0Z3RUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QXRGekVDO0VzRm1FRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUEsRUp5TTFCOztBdEZ6RUM7RXNGbUVGO0lJbk1GLGVBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG1DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixxQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYseUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQSxFSnlNMUI7O0FBekpTO0VEdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUNpUDdCO0lwRWpJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFb0VnSTNCO0lwRXBHRSxZQTNGWSxFQUFBO0VvRStMZDtJcEVwR0UsWUEzRlksRUFBQTtFb0UrTGQ7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBO0V0RnpIaEI7SXNGOEZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJcEUvSUEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0UrSU47SXBFcEdFLGdCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsV3FFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxXcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLFdxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsWXFFNUJnRSxFQUFBO0V2RmtDNUQ7SXNGOEZOO01wRS9JQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sV0FBTTtNQTJDSixZQTNGWSxFQUFBO0lvRStMZDtNcEUvSUEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJb0UrSU47TXBFcEdFLFlBM0ZZLEVBQUE7SW9FK0xkO01wRXBHRSxnQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEO0V0RmxKRDtJc0Z5Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDs7QUFPTDtFdkVqVEksc0JBQTZEO0VBQTdELHlCQUE2RCxFQUFBO0VmbUo3RDtJc0Y4Sko7TXZFalRJLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFdUVxVDlEOztBQUpIO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RTBUOUQ7O0FBbk5MO0V2RXZHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00scUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDZCQXREMEU7SUg5RXhFLHFCQUE2RDtJQUE3RCx3QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSw0QkF0RDBFO01IOUV4RSxvQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsWUEzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFlBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RB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LEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7O0FBa1REO0VLdFlJLDhCQUFtQyxFQUFBO0UzRjBJbkM7SXNGNFBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0Qzs7QXRGOVBHO0VzRmdRRjtJSzFZRSw2QkFBbUMsRUFBQSxFTDRZcEM7O0F0RjdQQztFc0YyUEY7SUsxWUUsNkJBQW1DLEVBQUEsRUw0WXBDOztBdEY3UEM7RXNGMlBGO0lLMVlFLDZCQUFtQyxFQUFBLEVMNFlwQzs7QXREelhNO0U0RG1DWCxrQkFBa0I7RUFDbEIsV3RGK1FzQjtFc0Y5UXRCLGNuRzVEK0I7RW1HNkQvQixlQUFlLEVBQUE7RXZHMnNqQ2Y7SXVGbm1qQ0UsVUFBVSxFQUFBO0VnQnRHWjtJQUVFLGNuRzdFYSxFQUFBO0VtR2tGZjtJQXhCQSxjdEYrUmM7SXNGOVJkLFd0RmtTYTtJc0ZqU2IsZ0J0RnFTWTtJc0ZwU1osY3RGdVN3QixFQUFBO0VzRmxSeEI7SUF4QkEsV3RGZ1NZO0lzRi9SWixTdEZtU1k7SXNGbFNaLGN0RnNTVztJc0ZyU1gsY3RGdVN3QixFQUFBOztBdUZyS3hCO0VBbEpBLGtCQUFrQjtFQUNsQixtQnZGb0JrQjtFdUZuQmxCLFVBQVU7RUFHVixtQjNGbUI4RDtFMkZsQjlELGlCQUFpQjtFQUNqQixjcEd2RGU7RW9HeURmLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQjtFQTJJZixZdkYrakJnQixFQUFBOztBdUYzakJsQjtFQTFJQSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUE2SVY7RUFuSUEsa0JBQWtCO0VBQ2xCLGNB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K0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0E5R3NFVjtFOEdyRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9C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TTtVQUNOLGNwSG1xRzBCO1VvSGxxRzFCLFVwSG1xR3NCLEVBQUEsRW9IaDVGN0I7TUFuZ0JUO1FBbVBnQix5QnpIMVhDO1F5SDRYRyw0RHpIbEhpQztnQnlIa0hqQyxvRHpIbEhpQztReUhvSHJDLDJDekg5SE07UXlIOEhOLG1Dekg5SE07UXlIOEhOLDJCekg5SE07UXlIOEhOLG9Eekg5SE0sRUFBQTtNeUh6SHRCO1FBZ1FnQiwwQkFBc0I7WUFBdEIsc0JBQXNCO1FBQ3RCLHFCQUFxQixFQUFBO1FsSHRPN0I7VWtIM0JSO1lBbVFvQixZcEg5WUk7WW9IaVpKLFlwSHNvR0wsRUFBQSxFb0hub0dGO01BelFiO1FBMlFnQix5QkFBcUI7UUFXckIseUJ6SHBaZ0I7UXlIc1paLGdCM0gxWkM7UTJINFpMLHlCekhqYUM7UXlIa2FELDRCekhqS007UXlIaUtOLG9CekhqS00sRUFBQTtRT3BHZDtVa0h0QlI7WUE2Um9CLDRCcEg0b0dRO2dCb0g1b0dSLGlCcEg0b0dRO29Cb0g1b0dSLFFwSDRvR1EsRUFBQSxFb0gxbkdmO1FsSHBSTDtVa0gzQlI7WUFpU29CLG9CQUFhO1lBQWIsb0JBQWE7WUFBYixhQUFhO1lBQ2IsZ0JBQWdCLEVBQUEsRUFhdkI7UUEvU2I7VUF5U29CLFlBQVk7VUFFUixnQjNIN2FILEVBQUE7TVV3b0JqQjtRaUhwTlksb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLFNwSHFsRzZCO1FvSHBsRzdCLFNwSHNsR0osRUFBQTtRRXIzR0o7VUNnZko7WWlIL01nQiw0QnBIbW5HYztnQm9Ibm5HZCxpQnBIbW5HYztvQm9Ibm5HZCxRcEhtbkdjLEVBQUEsRW9IOWxHckI7UWxIalRMO1VDMmVKO1lpSDFNZ0IsbUJBQU87Z0JBQVAsV0FBTztvQkFBUCxPQUFPO1lBQ1AsY3BIK2tHSCxFQUFBLEVvSGhrR0o7UUE1VWI7VUFnVW9CLGdCQUFnQjtVQUNoQixvQmhIaFk0QyxFQUFBO1FEMmxENUQ7VUFDSSxjUjVvRHlCO1VRNm9EekIsb0JDN2xEd0Q7VUQ4bER4RCxnQkh1aUJzQztVR3RpQnRDLGdCSGxwRGlCLEVBQUE7VUdtcERqQjtZQUNJLGNUbnJESztZU29yREwsMEJBQTBCLEVBQUE7VUFFOUI7WUFDSSxjVHRyREssRUFBQTtRMEhnSmpCO1VBcVVvQixtQmhIcFk0QztVZ0hxWTVDLGdCcEh5a0c2QjtVb0h4a0c3QixjekgzY0gsRUFBQTtVeUhvSWpCO1lBeVV3QixTQUFTLEVBQUE7TWpIZ003QjtRaUh4TFksb0JoSGhaZ0QsRUFBQTtRRnFGeEQ7VUNtZko7WWlIdExnQiw0QnBId2xHTztnQm9IeGxHUCxpQnBId2xHTztvQm9IeGxHUCxRcEh3bEdPLEVBQUEsRW9IL2tHZDtRbEhqVUw7VUM4ZUo7WWlIbkxnQixVcEgwa0dOO1lvSHprR00sbUJBQVk7Z0JBQVosb0JBQVk7b0JBQVosWUFBWTtZQUNaLFNBQVM7WUFDVCxlcEgwa0dIO1lvSHprR0csZ0JBQWdCLEVBQUEsRUFFdkI7TWpIZ0xUO1FpSDlLWSxnQkFBZ0I7UUFHaEIsb0JoSGhhZ0Q7UWdIaWFoRCxnQkFBZ0I7UUFDaEIsYzFIcGZDLEVBQUE7UVF1S1Q7VUNzZko7WWlIdktnQiw0QnBIdWtHUTtnQm9IdmtHUixpQnBIdWtHUTtvQm9IdmtHUixRcEh1a0dRLEVBQUEsRW9IMWpHZjtRbEh2Vkw7VUNpZko7WWlIcEtnQixlQUFlO1lBQ2YsVXBIb2pHTjtZb0huakdNLGVwSGdqR0gsRUFBQSxFb0h4aUdKO01BbFhiO1FBb1hnQixXQUFXLEVBQUE7UWxIOVZuQjtVa0h0QlI7WUF3WG9CLDRCcEhzakdnQjtnQm9IdGpHaEIsaUJwSHNqR2dCO29Cb0h0akdoQixRcEhzakdnQixFQUFBLEVvSDlpR3ZCO1FsSHJXTDtVa0gzQlI7WUEyWG9CLGNwSHVrR08sRUFBQSxFb0hsa0dkO01sSHJXTDtRQ3FmSjtVaUg3SWdCLHdCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QixFQUFBLEVBRTlCO01BclliO1FBdVlnQixpQkFBaUIsRUFBQTtNQXZZakM7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bDNFYyxFQUFBO0VPL0ZkO0lvSHFNUjtNbkg4d0VZLGtCSGxoQ1EsRUFBQSxFR2drQ2Y7RW1INXpFTDtJbkhpeEVZLHFCUmhtRnFCO0lRaW1GckIscUNSejNFVTtJUXkzRVYsNkJSejNFVSxFQUFBO0UySHVHdEI7SW5IcXhFWSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RW1IeHhFL0I7SW5IMnhFWSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFlBQVk7SUFDWixjQUFjO0lBQ2QseUJSdm5GcUI7SVF3bkZyQixxRVJ0NEVVO0lRczRFViw2RFJ0NEVVLEVBQUE7STJIc0d0QjtNbkhreUVnQixZSGh2RUk7TUdpdkVKLG1DUnIrRTJCO01RcytFM0IsZUFBZTtNQUNmLGNSNW9GQztNUTZvRkQsOENSNTRFTTtNUTQ0RU4sc0NSNTRFTSxFQUFBO0kySHNHdEI7TW5IeXlFZ0IseUJUMXBGQztNUzJwRkQseUNSajVFTTtNUWk1RU4saUNSajVFTSxFQUFBO0kySHVHdEI7TW5INnlFZ0IseUJUOXBGQyxFQUFBO000SGlYakI7UW5IK3lFb0IsaUNSbC9FbUIsRUFBQTtJMkhtTXZDO01uSG16RWdCLGFBQWE7TUFDYixXQUFXO01BQ1gsOENSNTVFTTtNUTQ1RU4sc0NSNTVFTSxFQUFBO00ySHVHdEI7UW5IdXpFb0IsZUFBZTtRQUNmLGtDUi81RUU7UVErNUVGLDBCUi81RUUsRUFBQSIsImZpbGUiOiJzdGF0aWMvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxyXG5cclxuVGhpcyBpcyB0aGUgYmFzZSBvZiB0aGUgYXBwLmNzcyBmaWxlLCB0byBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb3QgYSBzaXRlIGxldmVsIGdvIHRvIC9icmFuZGluZy5zY3NzIGlmIHlvdSBuZWVkIG1vZGlmeSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHNpdGVzIGdvIHRvIC9nbG9iYWwvdmFyaWFibGVzLnNjc3MuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gTm8gQkVTUE9LRSBDU1MgUlVMRSdTIHNob3VsZCBiZSBzcGVjaWZpZWQgaGVyZSBvciBpbiBicmFuZGluZy5zY3NzLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgdGhlIGNzcyBkbyBpdCBpbiBlaXRoZXIgL2dsb2JhbCBvciBpbiAvY29tcG9uYW50cyBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSB0ZWFycywgSUYgeW91IHJlYWxseSBoYXZlIHRvIHRvIGl0IGluIHRoZSBzaXRlIHNwZWNpZmljIGJyYW5kaW5nLnNjc3MgdW5kZXIgYWxsIG9mIHRoZSBTQVNTIG92ZXJyaWRlcy5cclxuXHJcbioqL1xuLypcclxuXHJcbnZhbHVlcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvciBtYXAuXHJcblxyXG5CcmVha3BvaW50IHZhbHVlczpcclxuU21hbGwgPSAxXHJcbk1lZGl1bSA9IDJcclxuTGFyZ2UgPSAzXHJcbnhMYXJnZSA9IDRcclxueHhMYXJnZSA9IDVcclxuXHJcbiovXG4vKipcclxuXHJcblNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgKCBjb2xvdXJzICYgZm9udHMgKSBhbnkgc2FzcyBvdmVycmlkZXMgZ2V0IGRlZmluZWQgaGVyZSBhcyB3ZWxsLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIFlvdSBtYXliZSBjb21wZWxsZWQgdG8gd3JpdGUgYmVzcG9rZSBjc3MgcnVsZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSBqdXN0IHRvIG1ha2UgYSBcIiBxdWljayBcIiBzaXRlIHNwZWNpZmljIGNoYW5nZSBidXQgdGhpcyBXSUxMIGNvbmZsaWN0IHdpdGggdGhlIGNzcyBiZWluZyBkZWZpbmVkIGluIC9nbG9iYWwgYW5kIC9jb21wb25lbnQgZWl0aGVyIGZyb20gYSBjb25maWd1cmF0aW9uIHN0YW5jZSBvciByZXNwb25zaXZlIHBvaW50IG9mIHZpZXcsIHNvIHBsZWFzZSBjb25zdWx0L21vZGlmeSB0aG9zZSAyIGRpcmVjdG9yaWVzIGFzIG5lZWRlZCwgdGhpcyBmaWxlIHdhcyBvbmx5IHRvIGRlc2lnbmVkIGZvciBTQVNTIHZhcmlhYmxlcy5cclxuXHJcbioqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCw4MDAmZGlzcGxheT1zd2FwXCIpO1xuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1icmFuZHM6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICAtLWZhLWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFiLFxuLmZhLWJyYW5kcyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmZhLW1vbmVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMFwiOyB9XG5cbi5mYS1ob29saTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyN1wiOyB9XG5cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7IH1cblxuLmZhLWNjLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjsgfVxuXG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7IH1cblxuLmZhLXNob3B3YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWI1XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZThcIjsgfVxuXG4uZmEtYXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc1XCI7IH1cblxuLmZhLXJlZGhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiY1wiOyB9XG5cbi5mYS15b2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiMVwiOyB9XG5cbi5mYS1jbG91ZGZsYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdkXCI7IH1cblxuLmZhLXVwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMFwiOyB9XG5cbi5mYS1waXhpdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY0MFwiOyB9XG5cbi5mYS13cGV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRlXCI7IH1cblxuLmZhLWR5YWxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5OVwiOyB9XG5cbi5mYS1iaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdhXCI7IH1cblxuLmZhLXN0YWNrcGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MlwiOyB9XG5cbi5mYS1idXlzZWxsYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIwXCI7IH1cblxuLmZhLW1vZHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODVcIjsgfVxuXG4uZmEtZ3VpbGRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZVwiOyB9XG5cbi5mYS12bnY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGJcIjsgfVxuXG4uZmEtc3F1YXJlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cblxuLmZhLWpzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOVwiOyB9XG5cbi5mYS1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2FcIjsgfVxuXG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjsgfVxuXG4uZmEtb3JjaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZDJcIjsgfVxuXG4uZmEtamF2YTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNFwiOyB9XG5cbi5mYS1pbnZpc2lvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZFwiOyB9XG5cbi5mYS1jZW50ZXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgwXCI7IH1cblxuLmZhLWdsaWRlLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjsgfVxuXG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7IH1cblxuLmZhLWhpcmUtYS1oZWxwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjBcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlN1wiOyB9XG5cbi5mYS11bml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OVwiOyB9XG5cbi5mYS13aG1jczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwZFwiOyB9XG5cbi5mYS1yb2NrZXRjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U4XCI7IH1cblxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7IH1cblxuLmZhLXVudGFwcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDVcIjsgfVxuXG4uZmEtbWFpbGNoaW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTllXCI7IH1cblxuLmZhLWNzczMtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhiXCI7IH1cblxuLmZhLXNxdWFyZS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTJcIjsgfVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS12aW1lby12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdkXCI7IH1cblxuLmZhLWNvbnRhbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZFwiOyB9XG5cbi5mYS1zcXVhcmUtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFkXCI7IH1cblxuLmZhLWRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGZcIjsgfVxuXG4uZmEtYnJhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2NcIjsgfVxuXG4uZmEtc2lzdHJpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZVwiOyB9XG5cbi5mYS1zcXVhcmUtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU1XCI7IH1cblxuLmZhLWluc3RhZ3JhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtYmF0dGxlLW5ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNVwiOyB9XG5cbi5mYS10aGUtcmVkLXlldGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2OWRcIjsgfVxuXG4uZmEtc3F1YXJlLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZlwiOyB9XG5cbi5mYS1lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7IH1cblxuLmZhLXRocmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MThcIjsgfVxuXG4uZmEtbmFwc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMlwiOyB9XG5cbi5mYS1zcXVhcmUtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFkXCI7IH1cblxuLmZhLWdvb2dsZS1wbHVzLWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDVcIjsgfVxuXG4uZmEtYXJ0c3RhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YVwiOyB9XG5cbi5mYS1tYXJrZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYwZlwiOyB9XG5cbi5mYS1zb3VyY2V0cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2QzXCI7IH1cblxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIzXCI7IH1cblxuLmZhLWRpYXNwb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzkxXCI7IH1cblxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODBcIjsgfVxuXG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjsgfVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiOyB9XG5cbi5mYS1waG9lbml4LXNxdWFkcm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTExXCI7IH1cblxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiOyB9XG5cbi5mYS1hbGdvbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZjXCI7IH1cblxuLmZhLXJlZC1yaXZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlM1wiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVmXCI7IH1cblxuLmZhLXNhZmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2N1wiOyB9XG5cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjsgfVxuXG4uZmEtc3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWNcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5mYS1hdGxhc3NpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3N2JcIjsgfVxuXG4uZmEtbGlua2VkaW4taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjsgfVxuXG4uZmEtZGlnaXRhbC1vY2VhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MVwiOyB9XG5cbi5mYS1uaW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YThcIjsgfVxuXG4uZmEtY2hyb21lY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzOFwiOyB9XG5cbi5mYS1ldmVybm90ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzOVwiOyB9XG5cbi5mYS1oYWNrZXItbmV3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYwXCI7IH1cblxuLmZhLWFkdmVyc2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZhXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWVcIjsgfVxuXG4uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4N1wiOyB9XG5cbi5mYS1mb250aWNvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODBcIjsgfVxuXG4uZmEtd2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cblxuLmZhLXNoaXJ0c2luYnVsazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNFwiOyB9XG5cbi5mYS1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNiXCI7IH1cblxuLmZhLWdpdC1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDFcIjsgfVxuXG4uZmEtbHlmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjM1wiOyB9XG5cbi5mYS1yZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjJcIjsgfVxuXG4uZmEtd2luZG93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiOyB9XG5cbi5mYS13aXphcmRzLW9mLXRoZS1jb2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMFwiOyB9XG5cbi5mYS1zcXVhcmUtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFhXCI7IH1cblxuLmZhLXZpYWRlby1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtbWVldHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7IH1cblxuLmZhLWNlbnRvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4OVwiOyB9XG5cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjsgfVxuXG4uZmEtY2xvdWRzbWl0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4NFwiOyB9XG5cbi5mYS1vcGVuc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyYlwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiOyB9XG5cbi5mYS1zcXVhcmUtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk3XCI7IH1cblxuLmZhLWNvZGllcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg0XCI7IH1cblxuLmZhLW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTlcIjsgfVxuXG4uZmEtbWl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NiXCI7IH1cblxuLmZhLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI2XCI7IH1cblxuLmZhLWNjLWFwcGxlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiOyB9XG5cbi5mYS1zY3JpYmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOGFcIjsgfVxuXG4uZmEtZGViaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBiXCI7IH1cblxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiOyB9XG5cbi5mYS1pbnN0YWxvZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MVwiOyB9XG5cbi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjsgfVxuXG4uZmEtc2VsbGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjsgfVxuXG4uZmEtc3F1YXJlLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjsgfVxuXG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjsgfVxuXG4uZmEtci1wcm9qZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY3XCI7IH1cblxuLmZhLWRlbGljaW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNVwiOyB9XG5cbi5mYS1mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E0XCI7IH1cblxuLmZhLXZ1ZWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFmXCI7IH1cblxuLmZhLWFjY3Vzb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY5XCI7IH1cblxuLmZhLWlveGhvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDhcIjsgfVxuXG4uZmEtZm9udGljb25zLWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EyXCI7IH1cblxuLmZhLWFwcC1zdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZlwiOyB9XG5cbi5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7IH1cblxuLmZhLWl0dW5lcy1ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I1XCI7IH1cblxuLmZhLWdvbGFuZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTQwZlwiOyB9XG5cbi5mYS1raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYlwiOyB9XG5cbi5mYS1ncmF2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ2XCI7IH1cblxuLmZhLXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThhXCI7IH1cblxuLmZhLXVuY2hhcnRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NFwiOyB9XG5cbi5mYS1maXJzdGRyYWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ExXCI7IH1cblxuLmZhLXNxdWFyZS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7IH1cblxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7IH1cblxuLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY2XCI7IH1cblxuLmZhLXdwcmVzc3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTRcIjsgfVxuXG4uZmEtcmVuZGFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDlcIjsgfVxuXG4uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGNcIjsgfVxuXG4uZmEtbmZjLWRpcmVjdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTMwXCI7IH1cblxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7IH1cblxuLmZhLWpvZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I3XCI7IH1cblxuLmZhLWZlZG9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5OFwiOyB9XG5cbi5mYS1zdHJpcGUtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYVwiOyB9XG5cbi5mYS1tZXRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDliXCI7IH1cblxuLmZhLWxhcmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmRcIjsgfVxuXG4uZmEtaG90amFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IxXCI7IH1cblxuLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk0XCI7IH1cblxuLmZhLXNxdWFyZS1sZXR0ZXJib3hkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJlXCI7IH1cblxuLmZhLXN0aWNrZXItbXVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjNcIjsgfVxuXG4uZmEtaGlwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MlwiOyB9XG5cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7IH1cblxuLmZhLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMVwiOyB9XG5cbi5mYS1kaXNjb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkyXCI7IH1cblxuLmZhLWNocm9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OFwiOyB9XG5cbi5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcwXCI7IH1cblxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7IH1cblxuLmZhLXdwYmVnaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTdcIjsgfVxuXG4uZmEtY29uZmx1ZW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4ZFwiOyB9XG5cbi5mYS1zaG9lbGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwY1wiOyB9XG5cbi5mYS1tZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4Y2FcIjsgfVxuXG4uZmEtZG9jaHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk0XCI7IH1cblxuLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OFwiOyB9XG5cbi5mYS1lYmF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY0XCI7IH1cblxuLmZhLWFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiOyB9XG5cbi5mYS11bnNwbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3Y1wiOyB9XG5cbi5mYS15YXJuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UzXCI7IH1cblxuLmZhLXNxdWFyZS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjsgfVxuXG4uZmEtNTAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmVcIjsgfVxuXG4uZmEtc3F1YXJlLXZpbWVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiOyB9XG5cbi5mYS1hc3ltbWV0cmlrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcyXCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtZmxhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7IH1cblxuLmZhLWFwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc5XCI7IH1cblxuLmZhLWhpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2ZcIjsgfVxuXG4uZmEtZ2l0a3Jha2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E2XCI7IH1cblxuLmZhLWtleWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjVcIjsgfVxuXG4uZmEtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE1XCI7IH1cblxuLmZhLXBhZGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTRhMFwiOyB9XG5cbi5mYS1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJjXCI7IH1cblxuLmZhLXNxdWFyZS1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTJcIjsgfVxuXG4uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiOyB9XG5cbi5mYS1zdHVtYmxldXBvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNFwiOyB9XG5cbi5mYS1mZWRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5N1wiOyB9XG5cbi5mYS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkY1wiOyB9XG5cbi5mYS1zaG9waWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH1cblxuLmZhLW5lb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2MTJcIjsgfVxuXG4uZmEtc3F1YXJlLXRocmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTlcIjsgfVxuXG4uZmEtaGFja2VycmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmN1wiOyB9XG5cbi5mYS1yZXNlYXJjaGdhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjhcIjsgfVxuXG4uZmEtc3dpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZTFcIjsgfVxuXG4uZmEtYW5ndWxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMFwiOyB9XG5cbi5mYS1zcGVha2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2YzXCI7IH1cblxuLmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmVcIjsgfVxuXG4uZmEteS1jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7IH1cblxuLmZhLWVtcGlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMVwiOyB9XG5cbi5mYS1lbnZpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjsgfVxuXG4uZmEtZ29vZ2xlLXNjaG9sYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2JcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVhZVwiOyB9XG5cbi5mYS1naXRsYWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFlXCI7IH1cblxuLmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOFwiOyB9XG5cbi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7IH1cblxuLmZhLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiOyB9XG5cbi5mYS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODhcIjsgfVxuXG4uZmEtZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OVwiOyB9XG5cbi5mYS1saW5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjhcIjsgfVxuXG4uZmEtZ29vZHJlYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E4XCI7IH1cblxuLmZhLXNxdWFyZS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY0XCI7IH1cblxuLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY0XCI7IH1cblxuLmZhLWpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7IH1cblxuLmZhLXNpdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTJcIjsgfVxuXG4uZmEtdGhlbWVpc2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIyXCI7IH1cblxuLmZhLXBhZ2U0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q3XCI7IH1cblxuLmZhLWhhc2hub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDk5XCI7IH1cblxuLmZhLXJlYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFiXCI7IH1cblxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiOyB9XG5cbi5mYS1zcXVhcmVzcGFjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViZVwiOyB9XG5cbi5mYS1jYy1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMlwiOyB9XG5cbi5mYS1iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc5XCI7IH1cblxuLmZhLWtleWNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYVwiOyB9XG5cbi5mYS1vcGVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YVwiOyB9XG5cbi5mYS1pdGNoLWlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNhXCI7IH1cblxuLmZhLXVtYnJhY286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZThcIjsgfVxuXG4uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBkXCI7IH1cblxuLmZhLXVidW50dTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkZlwiOyB9XG5cbi5mYS1kcmFmdDJkaWdpdGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk2XCI7IH1cblxuLmZhLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyOVwiOyB9XG5cbi5mYS1ob3V6ejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3Y1wiOyB9XG5cbi5mYS1nZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MFwiOyB9XG5cbi5mYS1kaGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTBcIjsgfVxuXG4uZmEtc3F1YXJlLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiOyB9XG5cbi5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cblxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjsgfVxuXG4uZmEtYmxhY2tiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YlwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVjXCI7IH1cblxuLmZhLXBsYXlzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RmXCI7IH1cblxuLmZhLXF1aW5zY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OVwiOyB9XG5cbi5mYS1sZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFkXCI7IH1cblxuLmZhLWJsb2dnZXItYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3ZFwiOyB9XG5cbi5mYS1vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiOyB9XG5cbi5mYS12aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNhXCI7IH1cblxuLmZhLXNpZ25hbC1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NjNcIjsgfVxuXG4uZmEtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVkXCI7IH1cblxuLmZhLWdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NlwiOyB9XG5cbi5mYS10eXBvMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYlwiOyB9XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjsgfVxuXG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjsgfVxuXG4uZmEtZGFpbHltb3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTJcIjsgfVxuXG4uZmEtYWZmaWxpYXRldGhlbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmJcIjsgfVxuXG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiOyB9XG5cbi5mYS1ib290c3RyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzZcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2M1wiOyB9XG5cbi5mYS1uZmMtc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTMxXCI7IH1cblxuLmZhLW1pbnRiaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmZcIjsgfVxuXG4uZmEtZXRoZXJldW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmVcIjsgfVxuXG4uZmEtc3BlYWtlci1kZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODNjXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZTlcIjsgfVxuXG4uZmEtcGF0cmVvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOVwiOyB9XG5cbi5mYS1hdmlhbmV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc0XCI7IH1cblxuLmZhLWVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZjFcIjsgfVxuXG4uZmEtZ29mb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E3XCI7IH1cblxuLmZhLWJpbW9iamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3OFwiOyB9XG5cbi5mYS1icmF2ZS1yZXZlcnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjNkXCI7IH1cblxuLmZhLWZhY2Vib29rLWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjsgfVxuXG4uZmEtc3F1YXJlLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7IH1cblxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiOyB9XG5cbi5mYS1tYW5kYWxvcmlhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZlwiOyB9XG5cbi5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGFcIjsgfVxuXG4uZmEtb3NpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFhXCI7IH1cblxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjsgfVxuXG4uZmEtZC1hbmQtZC1iZXlvbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2FcIjsgfVxuXG4uZmEtcGVyaXNjb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RhXCI7IH1cblxuLmZhLWZ1bGNydW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGJcIjsgfVxuXG4uZmEtY2xvdWRzY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4M1wiOyB9XG5cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiOyB9XG5cbi5mYS1taXp1bmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2NcIjsgfVxuXG4uZmEtc2NobGl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VhXCI7IH1cblxuLmZhLXNxdWFyZS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7IH1cblxuLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7IH1cblxuLmZhLWJhbmRjYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ1XCI7IH1cblxuLmZhLXdwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjsgfVxuXG4uZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg1XCI7IH1cblxuLmZhLXVzcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTFcIjsgfVxuXG4uZmEtbWVnYXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YTNcIjsgfVxuXG4uZmEtbWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNFwiOyB9XG5cbi5mYS1zcG90aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7IH1cblxuLmZhLW9wdGluLW1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjsgfVxuXG4uZmEtZmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE3XCI7IH1cblxuLmZhLWF2aWF0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMVwiOyB9XG5cbi5mYS1pdHVuZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjRcIjsgfVxuXG4uZmEtY3V0dGxlZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4Y1wiOyB9XG5cbi5mYS1ibG9nZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdjXCI7IH1cblxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiOyB9XG5cbi5mYS12aWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOVwiOyB9XG5cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7IH1cblxuLmZhLWRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTZcIjsgfVxuXG4uZmEtdGVuY2VudC13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiOyB9XG5cbi5mYS1sZXR0ZXJib3hkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJkXCI7IH1cblxuLmZhLXN5bWZvbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2RcIjsgfVxuXG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7IH1cblxuLmZhLWV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjsgfVxuXG4uZmEtZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlmXCI7IH1cblxuLmZhLWF1ZGlibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzNcIjsgfVxuXG4uZmEtdGhpbmstcGVha3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3MzFcIjsgfVxuXG4uZmEtYmlsaWJpbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzZDlcIjsgfVxuXG4uZmEtZXJsYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlkXCI7IH1cblxuLmZhLXgtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxYlwiOyB9XG5cbi5mYS1jb3R0b24tYnVyZWF1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODllXCI7IH1cblxuLmZhLWRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEwXCI7IH1cblxuLmZhLTQyLWdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7IH1cblxuLmZhLWlubm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgwXCI7IH1cblxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cblxuLmZhLWVsZW1lbnRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzMFwiOyB9XG5cbi5mYS1zcXVhcmUtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZVwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGViXCI7IH1cblxuLmZhLXBhbGZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkOFwiOyB9XG5cbi5mYS1zdXBlcnBvd2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZFwiOyB9XG5cbi5mYS1yZXNvbHZpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTdcIjsgfVxuXG4uZmEteGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMlwiOyB9XG5cbi5mYS1zZWFyY2hlbmdpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYlwiOyB9XG5cbi5mYS10aWt0b2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2JcIjsgfVxuXG4uZmEtc3F1YXJlLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiOyB9XG5cbi5mYS1yZW5yZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGJcIjsgfVxuXG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjsgfVxuXG4uZmEtZ2xpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTVcIjsgfVxuXG4uZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjsgfVxuXG4uZmEtaHVic3BvdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMlwiOyB9XG5cbi5mYS1kZXBsb3lkb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGVcIjsgfVxuXG4uZmEtdHdpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU4XCI7IH1cblxuLmZhLXJhdmVscnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDlcIjsgfVxuXG4uZmEtbWl4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTZcIjsgfVxuXG4uZmEtc3F1YXJlLWxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiOyB9XG5cbi5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmZhLXZpbWVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBhXCI7IH1cblxuLmZhLW1lbmRlbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IzXCI7IH1cblxuLmZhLXVuaXJlZ2lzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA0XCI7IH1cblxuLmZhLWZpZ21hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk5XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWVcIjsgfVxuXG4uZmEtY2MtYW1hem9uLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZFwiOyB9XG5cbi5mYS1kcm9wYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7IH1cblxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiOyB9XG5cbi5mYS1jbXBsaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzNjBcIjsgfVxuXG4uZmEtdXB3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjQxXCI7IH1cblxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cblxuLmZhLWdyaXBmaXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FjXCI7IH1cblxuLmZhLWplZGktb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGVcIjsgfVxuXG4uZmEtdWlraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDNcIjsgfVxuXG4uZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhM1wiOyB9XG5cbi5mYS1waGFicmljYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYlwiOyB9XG5cbi5mYS11c3N1bm5haDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwN1wiOyB9XG5cbi5mYS1lYXJseWJpcmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzlhXCI7IH1cblxuLmZhLXRyYWRlLWZlZGVyYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTNcIjsgfVxuXG4uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7IH1cblxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMyXCI7IH1cblxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWJcIjsgfVxuXG4uZmEtdmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7IH1cblxuLmZhLWxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzBcIjsgfVxuXG4uZmEtZ29vZ2xlLWRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FhXCI7IH1cblxuLmZhLXNlcnZpY2VzdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlY1wiOyB9XG5cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiOyB9XG5cbi5mYS1iaXRidWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjsgfVxuXG4uZmEtaW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOFwiOyB9XG5cbi5mYS1kZWV6ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzdcIjsgfVxuXG4uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JiXCI7IH1cblxuLmZhLWppcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjFcIjsgfVxuXG4uZmEtZG9ja2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk1XCI7IH1cblxuLmZhLXNjcmVlbnBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTU3MFwiOyB9XG5cbi5mYS1ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTNcIjsgfVxuXG4uZmEtZ2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI2XCI7IH1cblxuLmZhLWQtYW5kLWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGRcIjsgfVxuXG4uZmEtbWljcm9ibG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFhXCI7IH1cblxuLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7IH1cblxuLmZhLWdnLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2MVwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLWhhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlNVwiOyB9XG5cbi5mYS1raWNrc3RhcnRlci1rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JjXCI7IH1cblxuLmZhLXlhbmRleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxM1wiOyB9XG5cbi5mYS1yZWFkbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZDVcIjsgfVxuXG4uZmEtaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjsgfVxuXG4uZmEtc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEzXCI7IH1cblxuLmZhLXNhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWVcIjsgfVxuXG4uZmEtd2lyc2luZGhhbmR3ZXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMmQwXCI7IH1cblxuLmZhLXdzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTJkMFwiOyB9XG5cbi5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdmXCI7IH1cblxuLmZhLXNhbGVzZm9yY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2JcIjsgfVxuXG4uZmEtb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODJcIjsgfVxuXG4uZmEtbWVkYXBwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNlwiOyB9XG5cbi5mYS1uczg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDVcIjsgfVxuXG4uZmEtcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzFcIjsgfVxuXG4uZmEtYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzFcIjsgfVxuXG4uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg2XCI7IH1cblxuLmZhLXdhemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2ZcIjsgfVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRiXCI7IH1cblxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7IH1cblxuLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7IH1cblxuLmZhLWZhbnRhc3ktZmxpZ2h0LWdhbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNmRjXCI7IH1cblxuLmZhLXJ1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2FcIjsgfVxuXG4uZmEtd2l4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWNmXCI7IH1cblxuLmZhLXNxdWFyZS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7IH1cblxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7IH1cblxuLmZhLXN1cHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOVwiOyB9XG5cbi5mYS13ZWJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjVjXCI7IH1cblxuLmZhLXJlYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQwXCI7IH1cblxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjsgfVxuXG4uZmEtc3RheWxpbmtlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNVwiOyB9XG5cbi5mYS1rYWdnbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1ZmFcIjsgfVxuXG4uZmEtc3BhY2UtYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVhY1wiOyB9XG5cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7IH1cblxuLmZhLWNwYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4OFwiOyB9XG5cbi5mYS1nb29kcmVhZHMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOVwiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cblxuLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjsgfVxuXG4uZmEtc3F1YXJlLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiOyB9XG5cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVhXCI7IH1cblxuLmZhLWdldC1wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjsgfVxuXG4uZmEtcGVyYnl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4M1wiOyB9XG5cbi5mYS1ncnVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZFwiOyB9XG5cbi5mYS13ZWVibHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2NcIjsgfVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGVcIjsgfVxuXG4uZmEtbGVhbnB1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMlwiOyB9XG5cbi5mYS1ibGFjay10aWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2VcIjsgfVxuXG4uZmEtdGhlbWVjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjNlwiOyB9XG5cbi5mYS1weXRob246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTJcIjsgfVxuXG4uZmEtYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiOyB9XG5cbi5mYS1ib3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMzQwXCI7IH1cblxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM1XCI7IH1cblxuLmZhLWhvcm5iaWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTkyXCI7IH1cblxuLmZhLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I4XCI7IH1cblxuLmZhLWlkZWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEzXCI7IH1cblxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkM1wiOyB9XG5cbi5mYS1kZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2Y2NcIjsgfVxuXG4uZmEtc2tldGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2M2XCI7IH1cblxuLmZhLXlhbmRleC1pbnRlcm5hdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE0XCI7IH1cblxuLmZhLWNjLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjsgfVxuXG4uZmEtdWJlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwMlwiOyB9XG5cbi5mYS1naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWJcIjsgfVxuXG4uZmEtcGhwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU3XCI7IH1cblxuLmZhLWFsaXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY0MlwiOyB9XG5cbi5mYS15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7IH1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7IH1cblxuLmZhLWZpcmVmb3gtYnJvd3NlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiOyB9XG5cbi5mYS1yZXBseWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTZcIjsgfVxuXG4uZmEtc3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdkNlwiOyB9XG5cbi5mYS1qZW5raW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I2XCI7IH1cblxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjsgfVxuXG4uZmEtcm9ja3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOVwiOyB9XG5cbi5mYS1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDJcIjsgfVxuXG4uZmEtYnVmZmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM3XCI7IH1cblxuLmZhLW5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNFwiOyB9XG5cbi5mYS15YW1tZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4NDBcIjsgfVxuXG4uZmEtYnRjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cblxuLmZhLWRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiOyB9XG5cbi5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2YlwiOyB9XG5cbi5mYS1zdHViYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWM3XCI7IH1cblxuLmZhLXRlbGVncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM2XCI7IH1cblxuLmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM2XCI7IH1cblxuLmZhLW9sZC1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMFwiOyB9XG5cbi5mYS1vZHlzZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YzZcIjsgfVxuXG4uZmEtc3F1YXJlLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7IH1cblxuLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwY1wiOyB9XG5cbi5mYS1ub2RlLWpzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QzXCI7IH1cblxuLmZhLWVkZ2UtbGVnYWN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH1cblxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7IH1cblxuLmZhLXNsYWNrLWhhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjsgfVxuXG4uZmEtbWVkcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzhcIjsgfVxuXG4uZmEtdXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7IH1cblxuLmZhLXR1bWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3M1wiOyB9XG5cbi5mYS12YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDhcIjsgfVxuXG4uZmEtcXVvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzRcIjsgfVxuXG4uZmEtc3F1YXJlLXgtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxYVwiOyB9XG5cbi5mYS1yZWFjdGV1cm9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc1ZFwiOyB9XG5cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjsgfVxuXG4uZmEtbWVkaXVtLW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjsgfVxuXG4uZmEtYW1pbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZkXCI7IH1cblxuLmZhLW1peGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg5XCI7IH1cblxuLmZhLWZsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0ZFwiOyB9XG5cbi5mYS12aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM3XCI7IH1cblxuLmZhLWNyaXRpY2FsLXJvbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2YzlcIjsgfVxuXG4uZmEtc2l0cm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDRhXCI7IH1cblxuLmZhLWRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5M1wiOyB9XG5cbi5mYS1qb29tbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWFcIjsgfVxuXG4uZmEtbWFzdG9kb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjZcIjsgfVxuXG4uZmEtYWlyYm5iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM0XCI7IH1cblxuLmZhLXdvbGYtcGFjay1iYXR0YWxpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTRcIjsgfVxuXG4uZmEtYnV5LW4tbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4YTZcIjsgfVxuXG4uZmEtZ3VscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjFcIjsgfVxuXG4uZmEtc3RyYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI4XCI7IH1cblxuLmZhLWVtYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIzXCI7IH1cblxuLmZhLWNhbmFkaWFuLW1hcGxlLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ODVcIjsgfVxuXG4uZmEtdGVhbXNwZWFrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGY5XCI7IH1cblxuLmZhLXB1c2hlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMVwiOyB9XG5cbi5mYS13b3JkcHJlc3Mtc2ltcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDExXCI7IH1cblxuLmZhLW51dHJpdGlvbml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q2XCI7IH1cblxuLmZhLXdvZHU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODhcIjsgfVxuXG4uZmEtZ29vZ2xlLXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiOyB9XG5cbi5mYS1pbnRlcmNvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdhZlwiOyB9XG5cbi5mYS16aGlodTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYzZlwiOyB9XG5cbi5mYS1rb3J2dWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmZcIjsgfVxuXG4uZmEtcGl4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDNhXCI7IH1cblxuLmZhLXN0ZWFtLXN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNlwiOyB9XG5cbi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuOnJvb3QsIDpob3N0IHtcbiAgLS1mYS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICAtLWZhLWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDYgRnJlZSc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtcmVndWxhci00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYXIsXG4uZmEtcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIC0tZmEtZm9udC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDYgRnJlZSc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCIuLi93ZWJmb250cy9mYS1zb2xpZC05MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhcyxcbi5mYS1zb2xpZCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIEJyYW5kcyc7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAud29mZjJcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1icmFuZHMtNDAwLndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1icmFuZHMtNDAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgU29saWQnO1xuICBzcmM6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1zb2xpZC05MDAud29mZjJcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1zb2xpZC05MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC50dGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFJlZ3VsYXInO1xuICBzcmM6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1yZWd1bGFyLTQwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250YXdlc29tZS9mYS1yZWd1bGFyLTQwMC50dGZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8uZW90XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby5zdmdcIikgZm9ybWF0KFwic3ZnXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbi8qKiBcclxuICAgIC0tLS0tIEVtYWlsIFRlbXBsYXRlcyAtLS0tLSBcclxuXHJcbiAgICBUSElOSyEuLi4uLi4gTElLRSBSRUFMTFkgVEhJTksgT1VUTE9PSyBCRUZPUkUgTUFLSU5HIENIQU5HRVMsIHRoaW5ncyB0aGF0IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGVmZmVjdDogXHJcbiAgICAtIEZyYWdtZW50cyAoIGFyZSBjb2xvdXJzIGdlbmVyaWMgKSBcclxuICAgIC0gT3V0bG9vayBcclxuICAgIC0gRGlwbG9tYXQgZW1haWwgcGFyYW1ldGVyc1xyXG5cclxuKiovXG4ubW9iaWxlLWJyZWFrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9iaWxlLWJyZWFrIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogYXV0byA4cHg7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMS5wcmVzZXQxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEucHJlc2V0MTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxLnByZXNldDE6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbmJvZHkgaDEge1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG5cbmgxIHtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGgxLnByZXNldDEge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGgxLnByZXNldDIge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgaDEucHJlc2V0MjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGgxLnByZXNldDI6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbmgyIHtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBoMi5wcmVzZXQxIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0NywgMTgyLCA3NywgMC4xKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIGgyLnByZXNldDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsgfVxuICBoMi5wcmVzZXQzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoMi5wcmVzZXQzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgaDIucHJlc2V0MzpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgaDIucHJlc2V0NCB7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgaDIucHJlc2V0NCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7IH0gfVxuXG5oMyB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNUY3QjI3OyB9XG4gIGgzLnByZXNldDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgaDMucHJlc2V0MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICBoMy5wcmVzZXQyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cblxuaDQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5oNSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbmg2IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5jYWxsb3V0LmFsZXJ0IGg1LCAuY2FsbG91dC5hbGVydCBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtY29udGFpbmVyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzVGN0IyNyk7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gIGEuc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICBhLnN1Y2Nlc3M6YmVmb3JlLCBhLnN1Y2Nlc3M6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgYS53YXJuaW5nIHtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIGEud2FybmluZzpiZWZvcmUsIGEud2FybmluZzphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICBhLmFsZXJ0IHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIGEuYWxlcnQ6YmVmb3JlLCBhLmFsZXJ0OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIGEuZWRpdCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBhLmVkaXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICBhLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICBhLm5ld3MtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLm5ld3MtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eqXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEubmV3cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5uZXdzLWJ1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5uZXdzLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIGEuYmxvZy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGEuYmxvZy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgoZcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ibG9nLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEuYmxvZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgYS5ldmVudHMtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLmV2ZW50cy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbNcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmV2ZW50cy1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhLmV4dGVybmFsLWxpbmstaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgo5cIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjREI2NTFCKTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTAsICM0ODQ4NDgpOyB9XG4gIGEucGRmLWRvd25sb2FkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIGEucGRmLWRvd25sb2FkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HgVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLnBkZi1kb3dubG9hZDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbm9sIGxpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBoci5tb2JpbGUtc2VwZXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBhZGRyZXNzIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnNwYW5bY2xhc3MqPVwiLWljb25cIl0gLmljb24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSAuaWNvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLnByaWNlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuaHIge1xuICBtYXJnaW46IDI1cHggMDsgfVxuXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy41XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTEge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudGFibGUtZm9vdGVyLXNwYWNlci5wcmVzZXQtMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cblxuLnRhYmxlLWZvb3Rlci1zcGFjZXIgaHIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG50YWJsZSB7XG4gIC0tYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xuICAtLWJvcmRlci1ob3Zlci1jb2xvdXI6ICNhZWFlYWU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICB0YWJsZS5zdHJpcGVkIHRyIHtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAgIHRhYmxlLnNob3ctYm9yZGVyLWJvdHRvbSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHI6bm90KDpsYXN0LWNoaWxkKTpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaG92ZXItY29sb3VyKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfSB9XG4gIHRhYmxlLnNob3ctYm9yZGVycyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICB0YWJsZS5zaG93LWJvcmRlcnMgdGgsIHRhYmxlLnNob3ctYm9yZGVycyB0ZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmZpcnN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpsYXN0LWNoaWxkIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRoLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpmaXJzdC1jaGlsZCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aDpsYXN0LWNoaWxkLCB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDsgfSB9XG4gIHRhYmxlLmhpZ2hsaWdodC1maXJzdC1jb2x1bW4gdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIHRhYmxlLnByZXNldC0xIHtcbiAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0xIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRkLCB0YWJsZS5wcmVzZXQtMSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMS5yb3ctc3BhY2luZyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IC0xMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkLmltYWdlLWNvbCB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQuaW1hZ2UtY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTpob3ZlciBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoLnBkZi1kb3dubG9hZCkge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTIge1xuICAgICAgbWFyZ2luOiA0NXB4IDAgNDBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0yIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gIHRhYmxlLnByZXNldC0zIHRkLCB0YWJsZS5wcmVzZXQtMyB0aCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0ZCwgdGFibGUucHJlc2V0LTMgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0zLnJvdy1hZGRpdGlvbmFsLXBhZGRpbmcgdGQge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCwgdGFibGUucHJlc2V0LTMgdGJvZHkgdGgge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICB0YWJsZS5yb3ctc3BhY2luZyB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zcGFjaW5nOiAwIDEwcHg7IH1cbiAgICB0YWJsZS5yb3ctc3BhY2luZzpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICB0YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIHRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZSB0ZC5uby1wZGYtZG93bmxvYWQgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0gfVxuICB0YWJsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMxMjgxMWY7IH1cbiAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7IH1cbiAgICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNWUwNTsgfVxuICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTsgfVxuICAgIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5lcnJvci1yb3csIHRhYmxlIHRyLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlIHRyICsgdHIuZXJyb3Itcm93IHRkLCB0YWJsZSB0ciArIHRyLmVycm9yIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmOyB9IH1cbiAgdGFibGUgdHIuY2FyZC1leHBpcmVkLCB0YWJsZSB0ci5leHBpcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIsIHRhYmxlIHRyLmV4cGlyZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkIHRkLCB0YWJsZSB0ci5leHBpcmVkIHRkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCAucmVtb3ZlLWNvbCwgdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLnJlbW92ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLmV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGUge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHRkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICB0YWJsZSAuc3VjY2Vzcy1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICB0YWJsZSAuZmFpbGVkLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlIC5mYWlsZWQtaWNvbiwgdGFibGUgLnN1Y2Nlc3MtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIHRhYmxlIC5mYWlsZWQtaWNvbjpiZWZvcmUsIHRhYmxlIC5zdWNjZXNzLWljb246YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZSAub3JkZXItdG90YWwtY29sLCB0YWJsZSB0aC5jc3YtaW1wb3J0LWNvbCB7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICB0YWJsZSAuYWRkcmVzcy1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvi61cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgdGFibGUgLmNhcmQtdHlwZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KdXCI7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIHRhYmxlIC5leHBpcmVkLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgdGFibGUgLmV4cGlyZWQtdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZSAudG9vbHRpcC1jb250YWluZXIuc3RhdGUtaW5kaWNhdG9yIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogOXB4OyB9IH1cblxudGhlYWQucHJlc2V0LTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZC5wcmVzZXQtMSB0aCB7XG4gICAgcGFkZGluZzogMCA1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgdGhlYWQucHJlc2V0LTEgdGggYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgdGhlYWQucHJlc2V0LTEgdGhbY2xhc3MkPWRlc2NyaXB0aW9uLWNvbF0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGhlYWQucHJlc2V0LTEgKyB0Ym9keSAuY29sLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxudGhlYWQucHJlc2V0LTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZC5wcmVzZXQtMiB0aCB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbnRoZWFkIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwgbGkge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyAuY29tcGFyaXNvbi10YWJsZS1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltjb21wYXJpc29uLXRhYmxlXSAuY29tcGFyaXNvbi12YWx1ZXMgdGQgKyB0ZCwgW2NvbXBhcmlzb24tdGFibGVdIHRoICsgdGgge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIFtjb21wYXJpc29uLXRhYmxlXSAuY29tcGFyaXNvbi12YWx1ZXMgdGQgKyB0ZCwgW2NvbXBhcmlzb24tdGFibGVdIHRoICsgdGgge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG5cbltjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB0ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTUlOyB9XG5cbltjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lOyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogNTglO1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGFkYWRhOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIFtjb21wYXJpc29uLXRhYmxlXS5hbGlnbi12YWx1ZS1yaWdodCB0Ym9keSB0ZC5hY3RpdmUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgdHIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgLmNvbXBhcmlzb24tY3VycmVudGx5LXNlbGVjdGVkIHtcbiAgZmxleC1ncm93OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IC5jb21wYXJpc29uLWNvbHVtbi1oZWFkaW5nIHtcbiAgICB3aWR0aDogNTglOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG5cbnRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQgLmNvbC1sYWJlbCB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIC5jb2wtbGFiZWwge1xuICAgICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQuY29sdW1uLWVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQgLmNvbC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSA3MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxZnI7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgICBkaXNwbGF5OiBncmlkOyB9XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgLmNvbnRyb2wge1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIFtyZXNwb25zaXZlLXJldmVhbF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgKyB0YWJsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMTI4MTFmOyB9XG4gICAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5zdWNjZXNzIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ud2FybmluZyB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZjVlMDU7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLndhcm5pbmcgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hbGVydCB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNiMjBjMGM7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFsZXJ0IC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXItaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5lbGxpcHNpcy10ZXh0IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBtYXNrLWltYWdlOiBub25lOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAyMHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmhhcygudW5yZWFkLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb250ZW50LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29sLWxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4udGFibGUtc29ydC1jb2wuYXNjZW5kIGJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7IH1cblxuLnRhYmxlLXNvcnQtY29sLmRlc2NlbmQgYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCLvgbhcIjsgfVxuXG4udGFibGUtc29ydC1jb2wgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC50YWJsZS1zb3J0LWNvbCBidXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogIzhjOGU4YTsgfVxuICAgIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjOGM4ZThhOyB9XG5cbnRkLm5vdGlmaWNhdGlvbi1jb2w6aG92ZXIgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcbiAgd2lkdGg6IDZweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuXG50ZC5ub3RpZmljYXRpb24tY29sOmhvdmVyIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBsZWZ0OiA2cHg7XG4gIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIDAuMTgpO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cywgYm9yZGVyLXdpZHRoIDAuNnMsIGxlZnQgMC42czsgfVxuXG4udW5yZWFkLWNvbCB7XG4gIHdpZHRoOiA0OHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC51bnJlYWQtY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudW5yZWFkLWNvbCB7XG4gICAgICB3aWR0aDogMjBweDsgfSB9XG5cbi50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH1cbiAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHotaW5kZXg6IDUwMDA7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzLCBsZWZ0IDAuOHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQgcCB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZS5wYXltZW50IC5yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogMTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIC5leHBpcmUtZGF0ZS1jb2wge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIHRoLnNlbGVjdC1jb2wsIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUgdGQuc2VsZWN0LWNvbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfSB9XG4gIHRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gICAgd2lkdGg6IDg1MHB4OyB9IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC51cGRhdGVkLWNvbCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAudXBkYXRlZC1ieS1jb2wge1xuICAgIHdpZHRoOiAxOSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLmFjY2Vzcy1sZXZlbC1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG50YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB7XG4gIG1hcmdpbjogMDsgfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGQge1xuICAgIHBhZGRpbmc6IDIuNXB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnJldmlzaW9uLWNvbCB7XG4gICAgICB3aWR0aDogNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnVwZGF0ZWQtYnktY29sIHtcbiAgICAgIHdpZHRoOiAxNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnVwZGF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnB1Ymxpc2hlZC1jb2wsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5hY2Nlc3MtbGV2ZWwtY29sIHtcbiAgICAgIHdpZHRoOiA5JTsgfSB9XG5cbnRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHtcbiAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aDogMnB4OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCB7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpOyB9XG4gICAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50ICsgLm5lc3RlZC10YWJsZS1yb3cge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50ICsgLm5lc3RlZC10YWJsZS1yb3cgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgdGhlYWQgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuZm9sZGVyLWZpbHRlcnMtdGFibGUgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvbGRlci1maWx0ZXJzLXRhYmxlIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGFibGUtY29udGFpbmVyLnRhYmxlLXNjcm9sbC1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAudGFibGUtY29udGFpbmVyLnRhYmxlLXNjcm9sbC1lbmFibGVkIHRhYmxlIHRoZWFkIHRoIHtcbiAgICBib3JkZXI6IDA7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlIHRoZWFkOmFmdGVyLCAudGFibGUtY29udGFpbmVyLnNjcm9sbC1hdC1ib3R0b20gdGhlYWQ6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDVweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlLCAudGFibGUtY29udGFpbmVyLnNjcm9sbC1hdC10b3Age1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICBtYXgtaGVpZ2h0OiA0MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRhYmxlLWNvbnRhaW5lci5hdWRpdC10cmFpbC1lbnRyaWVzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4OyB9IH1cblxuLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4udGFibGUtY29udGFpbmVyIHRoZWFkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICB6LWluZGV4OiAxOyB9XG4gIC50YWJsZS1jb250YWluZXIgdGhlYWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4vKlxyXG4tLS0tIElucHV0cyAtLS0tIFxyXG4tIFN0eWxpbmcgZm9yIGZvcm0gaW5wdXRzICggc2VsZWN0LCBpbnB1dCwgdGV4dGFyZWEgKVxyXG4tIFF1YW50aXR5IHNlbGVjdG9yc1xyXG4tIEZvcm1zXHJcbiAgLSBGaWVsZHNldHNcclxuICAtIEZpZWxkc1xyXG4tIFZhbGlkYXRpb25cclxuICAtIEZvcm0gZXJyb3JzIGZyb20gdGhlIHNlcnZlclxyXG4gIC0gQWR2YW5jZWQgdmFsaWRhdGlvbiAoIHNldHRpbmcgcGFzc3dvcmQgKVxyXG4tIFByaW1hcnksIFNlY29uZGFyeSwgRXRjIGJ1dHRvbnMgdXNlZCB0aHJvdWdob3V0IHRoZSBzaXRlLlxyXG4tIFVJIGJsb2NrIHBhbmUuXHJcbiovXG5mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuZm9ybS5pcy1pbnZhbGlkIGJ1dHRvblt0eXBlPXN1Ym1pdF0sIGZvcm0uaXMtaW52YWxpZCAuZm9ybS1zdWJtaXQtYnV0dG9uIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC40OyB9XG4gIGZvcm0uaXMtaW52YWxpZCBidXR0b25bdHlwZT1zdWJtaXRdOmhvdmVyLCBmb3JtLmlzLWludmFsaWQgLmZvcm0tc3VibWl0LWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYyAhaW1wb3J0YW50OyB9XG5cbmZvcm0uaXMtaW52YWxpZCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7IH1cblxuYnV0dG9uOmRpc2FibGVkLCBidXR0b24uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jb250cm9sLnRleHQgaW5wdXQge1xuICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNvbnRyb2wudGV4dC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMzYwcHggLSA0NXB4KTsgfSB9XG5cbi5maWVsZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiA1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maWVsZCB7XG4gICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmZpZWxkLmFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmllbGQuYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5maWVsZCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZmllbGQgbGFiZWwge1xuICAgICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0NXB4KTtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0NXB4IC0gIDE2MHB4KTtcbiAgICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciAuZm9ybS1lcnJvciB7XG4gICAgICBvcmRlcjogNDsgfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5wYXNzd29yZC1yZXZlYWwge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAuZmllbGQgbGFiZWwgLmxhYmVsICsgdGV4dGFyZWEge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZpZWxkIGxhYmVsIC5sYWJlbCAuYWR2aXNvcnktdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZmllbGQgbGFiZWwudGV4dCwgLmZpZWxkIGxhYmVsLmVtYWlsLCAuZmllbGQgbGFiZWwudGVsLCAuZmllbGQgbGFiZWwubnVtYmVyLCAuZmllbGQgbGFiZWwudGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5maWVsZDpoYXMoYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ucHJpbWFyeS1idXR0b24pIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLmZpZWxkICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5maWVsZCBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKSB7XG4gICAgcGFkZGluZzogNXB4IDAgNXB4IDI1cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZmllbGQgLmxhYmVsICsgdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLmZpZWxkIHRleHRhcmVhIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuZmllbGQgdGV4dGFyZWE6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZmllbGQgLmVycm9yLWJsb2NrIHtcbiAgICAgIG1heC13aWR0aDogNTgxLjgxODE4cHg7IH0gfVxuICAuZmllbGQ6bm90KC5tZWRpdW0pOm5vdCgubGFyZ2UpOm5vdCgubGFyZ2UtMSkge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmllbGQuc21hbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAuZmllbGQuc21hbGwgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQuc21hbGwgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgLmZpZWxkLm1lZGl1bSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQubWVkaXVtIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLm1lZGl1bSAubGFiZWwge1xuICAgICAgICB3aWR0aDogMzUwcHg7IH0gfVxuICAuZmllbGQubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLmxhcmdlIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5sYXJnZSAubGFiZWwge1xuICAgICAgICB3aWR0aDogNDQwcHg7IH0gfVxuICAuZmllbGQuZnVsbC13aWR0aCAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5maWVsZC5saXN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZpZWxkLmxpc3QgbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubGlzdCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMzQwcHg7IH0gfVxuICAuZmllbGQgLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmZpZWxkIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmZpZWxkIC5sYWJlbCBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5maWVsZCAuY29udHJvbC5zZWxlY3Qge1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHggMDsgfVxuICAuZmllbGQgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuZmllbGQgLmN1c3RvbS1pbnB1dC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0sIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdIGxhYmVsLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSBsYWJlbCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmZpZWxkLnNtYWxsLTEsIC5maWVsZC5tZWRpdW0tMSwgLmZpZWxkLmxhcmdlLTEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5maWVsZC5zbWFsbC0xLCAuZmllbGQubWVkaXVtLTEsIC5maWVsZC5sYXJnZS0xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDM2MHB4OyB9IH1cbiAgLmZpZWxkLnNtYWxsLTIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZpZWxkLnNtYWxsLTMge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZpZWxkLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZmllbGQubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBsaSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMiwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoMywgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgKyBoNiwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGEge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGltZyB7XG4gICAgbWFyZ2luOiAwIDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mby5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmxvb2t1cC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBmb250LXNpemU6IDIycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBmb250LWZhbWlseTogY2FwdGlvbjtcbiAgdHJhbnNpdGlvbjogZm9udC1zaXplIDAuOHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDsgfSB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdOmhvdmVyICsgYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdICsgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5wYXNzd29yZC1yZXZlYWwge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5wYXNzd29yZC1yZXZlYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BrlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc3R5bGU6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucGFzc3dvcmQtcmV2ZWFsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICAucGFzc3dvcmQtcmV2ZWFsLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnBhc3N3b3JkLXJldmVhbC5pbnB1dC1hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY3Rpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hY3Rpb24tYnV0dG9uOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWN0aW9uLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFjdGlvbi1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcywgLmFjdGlvbi1idXR0b24uZW1haWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5ob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWw6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWwuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWw6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmFjdGlvbi1idXR0b24uZW1haWw6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmZvY3VzLXZpc2libGUsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICAgIGNvbG9yOiAjZmY1ZTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24ud2FybmluZy5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24ud2FybmluZ1tkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZzpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWNlbnRlciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ1dHRvbjEsIC5wcmltYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5idXR0b24xOmhvdmVyLCAuYnV0dG9uMS5ob3ZlciwgLnByaW1hcnktYnV0dG9uOmhvdmVyLCAucHJpbWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTNiNjRkO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5idXR0b24xOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5idXR0b24xLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbWFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5idXR0b24xOmFjdGl2ZSwgLmJ1dHRvbjEuYWN0aXZlLCAucHJpbWFyeS1idXR0b246YWN0aXZlLCAucHJpbWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYnV0dG9uMTpkaXNhYmxlZCwgLmJ1dHRvbjEuZGlzYWJsZWQsIC5idXR0b24xW2Rpc2FibGVkXSwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQsIC5wcmltYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbjE6ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24xLmRpc2FibGVkOmhvdmVyLCAucHJpbWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wcmltYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5idXR0b24xOmZvY3VzLXZpc2libGUsIC5wcmltYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJ1dHRvbjEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW1hcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlciwgLnNlY29uZGFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5zZWNvbmRhcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zZWNvbmRhcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbjphY3RpdmUsIC5zZWNvbmRhcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnNlY29uZGFyeS1idXR0b246ZGlzYWJsZWQsIC5zZWNvbmRhcnktYnV0dG9uLmRpc2FibGVkLCAuc2Vjb25kYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnNlY29uZGFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5zZWNvbmRhcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnNlY29uZGFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGVydGlhcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRlcnRpYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjAxMDE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnRlcnRpYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAudGVydGlhcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAudGVydGlhcnktYnV0dG9uOmFjdGl2ZSwgLnRlcnRpYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQsIC50ZXJ0aWFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAudGVydGlhcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAudGVydGlhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucXVhdGVybmFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDMuNXB4IDE2cHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVhdGVybmFyeS1idXR0b246aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1YXRlcm5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWF0ZXJuYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucXVhdGVybmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWF0ZXJuYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnF1aW5hcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnF1aW5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVpbmFyeS1idXR0b246aG92ZXIsIC5xdWluYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmM3YzA7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1aW5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWluYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1aW5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1aW5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1aW5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVpbmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWluYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnF1aW5hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucXVpbmFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAucXVpbmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtYnV0dG9uOmhvdmVyLCAuY21zLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG9yKChkZWZhdWx0OiB0cmFuc3BhcmVudCwgaG92ZXI6ICM1RjdCMjcsIGFjdGl2ZTogI0RCNjUxQiwgZGlzYWJsZWQ6ICNmZmZmZmYpKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY21zLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY21zLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1idXR0b246YWN0aXZlLCAuY21zLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjOTNiNjRkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTNiNjRkO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkLCAuY21zLWJ1dHRvbi5kaXNhYmxlZCwgLmNtcy1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jbXMtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY21zLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1wcm9jZWVkLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jbXMtcHJvY2VlZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBzaXplOiAxNXB4OyB9XG4gIC5jb3B5LXRvLWNsaXBib2FyZC1idXR0b24gLmNvcGllZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtNXB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuOSk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxvY2F0aW9uLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDkuNXB4IDEycHggOS41cHggMjFweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubG9jYXRpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmxvY2F0aW9uLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmUsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246YWN0aXZlOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQ6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQ6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAubG9jYXRpb24tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAubG9jYXRpb24tYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICM5M2I2NGQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAubG9jYXRpb24tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmNGY2ZWU7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSAucmVmZXJlbmNlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2Y0ZjZlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhOGU1MjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjZlZTsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlO1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNzsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogI2Y0ZjZlZTsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNXB4IDAgMDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjN2E4ZTUyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphZnRlciB7XG4gICAgY29udGVudDogXCLuoKdcIjtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzdhOGU1MjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyLCAucHJpbnQtZWxlbWVudC1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmFjdGl2ZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246YWN0aXZlOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmRpc2FibGVkLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQsIC5wcmludC1lbGVtZW50LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQ6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b25bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgK9cIjtcbiAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjOTNiNjRkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucHJpbnQtZWxlbWVudC1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CvXCI7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggNXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYzQzOTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciwgLnBheXBhbC1idXR0b246aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgI3BheXBhbC1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI3BheXBhbC1jaGVja291dC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI3BheXBhbC1jaGVja291dC1idXR0b24uYWN0aXZlLCAucGF5cGFsLWJ1dHRvbjphY3RpdmUsIC5wYXlwYWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0sIC5wYXlwYWwtYnV0dG9uOmRpc2FibGVkLCAucGF5cGFsLWJ1dHRvbi5kaXNhYmxlZCwgLnBheXBhbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246Zm9jdXMtdmlzaWJsZSwgLnBheXBhbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wYXlwYWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjphZnRlciwgLnBheXBhbC1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA2cmVtO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL3BheXBhbC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uaW5jcmVtZW50LXJvdy1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmluY3JlbWVudC1yb3ctYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmluY3JlbWVudC1yb3ctYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4ucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogNXB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDNuLTIpIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6bnRoLW9mLXR5cGUoMm4pOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm9ubHktY2hpbGQsIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm9ubHktY2hpbGQ6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDJuKTpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpub3QoOm9ubHktY2hpbGQpOmZpcnN0LWNoaWxkLCAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpvbmx5LWNoaWxkOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm5vdCg6b25seS1jaGlsZCk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXS5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4uYWRkVG9CYXNrZXRGb3JtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uYmFza2V0LWFkZC1idXR0b24uaWNvbiB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBjb2xvcjogIzkzYjY0ZDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLmljb24uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNiNjRkO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzkzYjY0ZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6aG92ZXIsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6YWN0aXZlLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkOmhvdmVyLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFkZFRvQmFza2V0Lmljb24ge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICM5M2I2NGQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBjb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hZGRUb0Jhc2tldC5pY29uLmRpc2FibGVkOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkzYjY0ZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKS5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmFjdGl2ZSwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hZGQtdG8tYmFza2V0LnByZXNldC0yIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44MzMzM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmFkZC10by1iYXNrZXQucHJlc2V0LTIge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmhvdmVyLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmFjdGl2ZSwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZCwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hbmltYXRlZC5kcm9wOmJlZm9yZSB7XG4gIGNvbG9yOiAjREI2NTFCICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFuaW1hdGVkLmRyb3A6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMHB4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICBhbmltYXRpb246IGJhc2tldEljb25Ib3ZlciAwLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7IH1cblxuQGtleWZyYW1lcyBiYXNrZXRJY29uSG92ZXIge1xuICAwJSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgMTUlIHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICAzMCUge1xuICAgIHRvcDogLTEwcHg7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIDQ1JSB7XG4gICAgdG9wOiAtNXB4O1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICA2MCUge1xuICAgIHRvcDogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICA3NSUge1xuICAgIHRvcDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5zdG9ja2xpbmUtdmlldy1idXR0b24gYSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci1jb2xvcjogIzkzYjY0ZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5hY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTpmb2N1cy12aXNpYmxlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpmb2N1cy12aXNpYmxlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5ob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6ZGlzYWJsZWQ6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTNiNjRkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjphY3RpdmUsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmRpc2FibGVkLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXTphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF06aG92ZXI6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXI6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7XG4gIGNvbG9yOiAjREI2NTFCO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjREI2NTFCO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmFjdGl2ZTphZnRlciB7XG4gIGNvbG9yOiAjREI2NTFCO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5hY3RpdmUgYTphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGE6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDI6bm90KC5hY3RpdmUpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyIGE6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxubGFiZWwuZGlzYWJsZWQsIGxhYmVsLnJlYWRvbmx5IHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZmxleDogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi1yaWdodDogLTRweCAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udHJvbC5pcy1ob3ZlcmVkIC5pbnB1dC1wcmVmaXgtaWNvbiwgLmNvbnRyb2w6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWw6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uLCAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsOmhvdmVyIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtZm9jdXNlZCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9XG4gIC5jb250cm9sICsgLmxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uICsgaW5wdXQge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmNvbnRyb2wgLmxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPXRleHRdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPW51bWJlcl0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGVsXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgdGV4dGFyZWEge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIC5jb250cm9sLnJlYWQtb25seS1pbnB1dCwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQge1xuICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0Om5vdCgudGV4dCk6aG92ZXI6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0Om5vdCgudGV4dCk6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6bm90KC50ZXh0KTphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6bm90KC50ZXh0KTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CjXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0OmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+Ao1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTEuNzY0NzFweDsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dFtyZWFkb25seV0gKyBzcGFuLCAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgaW5wdXQ6Y2hlY2tlZCArIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA3LjVweDtcbiAgICAgIGhlaWdodDogNy41cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC4ycHg7XG4gICAgICBsZWZ0OiAuNHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNy41cHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTEuNzY0NzFweDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtyZWFkb25seV0gKyBzcGFuLCAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKTpjaGVja2VkICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0ICsgc3Bhbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyArIHNwYW4ge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZFtkaXNhYmxlZF0gKyBzcGFuOmJlZm9yZSwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZFtyZWFkb25seV0gKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpkaXNhYmxlZCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiwgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdFtyZWFkb25seV0gKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmRpc2FibGVkICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdFtyZWFkb25seV0gKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyLCAuY29udHJvbC5zZWxlY3Qgc2VsZWN0W3JlYWRvbmx5XSArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LmlzLWludmFsaWQtaW5wdXQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6Zm9jdXMgKyBkaXZbY2xhc3M9Y29udHJvbC1zZWxlY3QtY29udGFpbmVyXSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmlzLWNsb3Npbmcge1xuICAgICAgei1pbmRleDogMjAwMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIge1xuICAgICAgei1pbmRleDogMTk5OTsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlcjpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZS5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0LWFycm93LCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5jb250cm9sLXNlbGVjdC1vcHRpb25zLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyLmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbiwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3RlZC1vcHRpb246Zm9jdXMge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuc2VsZWN0LWFycm93LCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdC1hcnJvdzphZnRlciwgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5jb250cm9sLXNlbGVjdC1vcHRpb25zLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTg1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tYm90dG9tIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wLmFjdGl2ZSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0LWFycm93IHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25bc2VsZWN0ZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uW2Rpc2FibGVkXSwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb24uZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E4ZTUyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmVbZGlzYWJsZWRdLCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjphY3RpdmUuZGlzYWJsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfSB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY29udHJvbC5zZWxlY3QudGl0bGUgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfVxuICAuY29udHJvbC50ZXh0IHtcbiAgICBjdXJzb3I6IHRleHQ7IH1cbiAgICAuY29udHJvbC50ZXh0IGlucHV0IHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0Om5vdChbdHlwZT1wYXNzd29yZF0pOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQ6Zm9jdXMgKyBidXR0b24ge1xuICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXI6bm90KC5pcy1pbnZhbGlkLWlucHV0KSArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0ICsgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5zbGlkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNvbnRyb2wuZmlsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNjNmM3YzA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wuZmlsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVweCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMi41cHggZGFzaGVkICNjNmM3YzA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY29udHJvbC5maWxlIHtcbiAgICAgICAgd2lkdGg6IDcwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDM4cHggMTBweDsgfSB9XG4gICAgLmNvbnRyb2wuZmlsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyIHNwYW4ubGFiZWwge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlciAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIC5jb250cm9sLmZpbGU6YWN0aXZlLCAuY29udHJvbC5maWxlLmlzLXJlYWR5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQ3LCAxODIsIDc3LCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDk1LCAxMjMsIDM5LCAwLjcpOyB9XG4gICAgICAuY29udHJvbC5maWxlOmFjdGl2ZTphZnRlciwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeTphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg5NSwgMTIzLCAzOSwgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtcmVhZHkgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pagXCI7XG4gICAgICBjb2xvcjogcmdiYSg5NSwgMTIzLCAzOSwgMC43KTsgfVxuICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWw6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCAuZm9ybS1lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29udHJvbC5maWxlIHNwYW4ubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuZmlsZSBzcGFuLmxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24ge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvlbRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLmZpbGUtdXBsb2FkLWljb24gKyAubGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5jb250cm9sLmZpbGUgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29udHJvbC5maWxlIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlIC5maWxlLXNpemUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLmNvbnRyb2wuZmlsZSBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAuY29udHJvbC5zZWFyY2ggaW5wdXQgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmNvbnRyb2wgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAuY29udHJvbDpob3ZlciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciBzZWxlY3QsIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gIHdpZHRoOiA5MHB4OyB9XG5cbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC43KTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAyMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmlucHV0Lm1haWwtaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubWFpbC1pbnB1dCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDsgfSB9XG4gIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b24ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwOyB9IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmVtcHR5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXI6ZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246YWN0aXZlOmVtcHR5OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jb25kaXRpb25hbC1pbnB1dHMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5jb25kaXRpb25hbC1pbnB1dHMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI0RCNjUxQjsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNzsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDZweCAwOyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCksIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQuZGlzYWJsZWQsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudC5kaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlcjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAucXVhbnRpdHktZXJyb3Ige1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAucXVhbnRpdHktZXJyb3Ige1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG5cbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgaW5wdXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDVweDsgfVxuXG4uaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXI6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSxcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcixcbiAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgahcIjsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCB7XG4gICAgICB3aWR0aDogOTBweDsgfSB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbnNwYW4uZm9ybS1lcnJvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBzcGFuLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBzcGFuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5zcGFuLmZvcm0tY2FsbG91dC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG51bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMzVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDsgfSB9XG4gICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3Ige1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLXZhbGlkIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtdmFsaWQ6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy1pbnZhbGlkIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtaW52YWxpZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7IH1cblxuLmFkdmFuY2VkLXZhbGlkYXRpb24tYWN0aXZlLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uZ3JvdXAtZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgaDIsIC5ncm91cC1mb3JtLWVycm9yIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHAsIC5ncm91cC1mb3JtLWVycm9yIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncm91cC1mb3JtLWVycm9yIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG4uZXJyb3ItYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5lcnJvci1ibG9jayBoMiwgLmVycm9yLWJsb2NrIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5lcnJvci1ibG9jayB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuZXJyb3ItYmxvY2sgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmVycm9yLWJsb2NrIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5lcnJvci1ibG9jayB1bCBsaSB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuZXJyb3ItYmxvY2sgcCwgLmVycm9yLWJsb2NrIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmVycm9yLWJsb2NrIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQgKyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIHNwYW4uY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpOyB9IH1cblxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6aG92ZXIsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzVGN0IyNzsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6YWN0aXZlLCBsYWJlbDpub3QoLnJlYWQtb25seS1pbnB1dCkgLmxhYmVsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjREI2NTFCOyB9XG5cbmxhYmVsIC5sYWJlbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cblxubGFiZWwgaW5wdXQuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG5cbmxhYmVsIGlucHV0OmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5sb29rdXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5wb3N0Y29kZS1sb29rdXAtZXJyb3IuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dC5sb29rdXAta2V5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkge1xuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgaW5wdXQubG9va3VwLWtleS5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkzYjY0ZDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggMTNweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICM5NTk1OTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCBidXR0b24ubG9va3VwLXN1Ym1pdC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6YWN0aXZlLCBidXR0b24ubG9va3VwLXN1Ym1pdC5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5M2I2NGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTNiNjRkO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZCwgYnV0dG9uLmxvb2t1cC1zdWJtaXRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkOmhvdmVyLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmxvb2t1cC1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiAyMjVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAubG9va3VwLXJlc3VsdHMgdWwgLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbiwgLmxvb2t1cC1yZXN1bHRzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uIHNwYW4sIC5sb29rdXAtcmVzdWx0cyBhIHNwYW4ge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246aG92ZXIsIC5sb29rdXAtcmVzdWx0cyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUsIC5sb29rdXAtcmVzdWx0cyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUgc3BhbiwgLmxvb2t1cC1yZXN1bHRzIGE6YWN0aXZlIHNwYW4ge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmxvb2t1cC1yZXN1bHRzLmJyYW5jaC1zZWFyY2gsIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTIwcHg7IH0gfVxuICAubG9va3VwLXJlc3VsdHMuYnJhbmNoLXNlYXJjaCBidXR0b24sIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCBidXR0b24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmdlb2xvY2F0aW9uLWNvbnRpYW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDIwcHggNnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXS5ob3ZlciArIGJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiAxNXB4IDBweCAyMHB4IDJweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMgKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi50b2dnbGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9nZ2xlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnVpLWJsb2NrLXBhbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC51aS1ibG9jay1wYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgKNcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpOyB9XG5cbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAub3B0aW9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIgKyAuc3NvLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ubWljcm9zb2Z0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9idXR0b25zL21pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIpOyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLXNlcGVyYXRvciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLypcclxuLS0tLS0gU2l0ZSBTdHlsZXMgLS0tLS0gXHJcbkFsbG93aW5nIENTUyB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgU0FTUyBjb25maWd1cmF0aW9uLCB1c2VkIGluIGluc3RhbmNlcyB3aGVyZSB5b3UgbmVlZCBkZXBhcnRtZW50IHNwZWNpZmMgY29sb3VyaW5nLlxyXG5cclxuKi9cbi5yZXF1aXJlZC1wcm9tcHQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlcXVpcmVkLXByb21wdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLnJlcXVpcmVkLXByb21wdCArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIuY29udGVudC1ib3JkZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaW5nbGUtY29sdW1uLWNhbGxiYWNrLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5mb3JtLnVzZXItZGF0YS1mb3JtIHtcbiAgcGFkZGluZzogMCAwIDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuZm9ybS5zaW5nbGUtY29sdW1uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgICBmb3JtLnNpbmdsZS1jb2x1bW4gLmZpZWxkOmxhc3QtY2hpbGQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuXG5mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBmb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuZm9ybSBmaWVsZHNldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQge1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBmb3JtIGZpZWxkc2V0OmZpcnN0LW9mLXR5cGUgaDIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgZm9ybSBmaWVsZHNldCBoMywgZm9ybSBmaWVsZHNldCBkaXYgPiBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDI1cHggYXV0byAyMHB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgZm9ybSBmaWVsZHNldCBoMzpiZWZvcmUsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsgfSB9XG4gIGZvcm0gZmllbGRzZXQgaDIsIGZvcm0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBmb3JtIGZpZWxkc2V0IGgyICsgLnN1Yi1ncm91cC1uYW1lLCBmb3JtIGZpZWxkc2V0IGxlZ2VuZCArIC5zdWItZ3JvdXAtbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICBmb3JtIGZpZWxkc2V0IHVsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgZm9ybSBmaWVsZHNldCA+IC5mb3JtLWVycm9yIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgZm9ybSBmaWVsZHNldCAuc3ViLWdyb3VwLW5hbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBmb3JtIGZpZWxkc2V0IC5zdWItZ3JvdXAtbmFtZSArIC5yZXF1aXJlZC1wcm9tcHQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgZm9ybSBmaWVsZHNldCAuZXJyb3ItYmxvY2sge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgZm9ybSAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xuICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lciB7XG4gICAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyICsgaDIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDE1cHggNy41cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCA4NXB4OyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uY2FwdGNoYS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cbiAgLmNhcHRjaGEtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAuY2FwdGNoYS1jb250YWluZXIgLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICAgIGJvdHRvbTogNjBweCAhaW1wb3J0YW50OyB9XG5cbi5wb3B1cC1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDExNTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjYuNjY2NjdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4MHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0xIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0yIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTMge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTMge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgYSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgYSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBhIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmRpc2FibGVkIHAge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbiBwIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lmljb24tbm9uLXJldHVybmFibGUge1xuICAgICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpiZWZvcmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+huVwiO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgNDVweCAyMHB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5ob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNmNWY3ZWQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydFtkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6Zm9jdXMtdmlzaWJsZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCAyMi41cHggMTBweCk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLmNvbmZpcm1hdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMTVweCAzMHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIubWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWYwZjA7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLypcclxuLS0tLS0gSGVhZGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVXBwZXIgKyBsb3dlciBuYXZpZ2F0aW9uIGJhcnMuXHJcbi0gU2l0ZSBsb2dvXHJcbi0gSGVhZGVyIHN0aWNreSBmdW5jdGlvbmFsaXR5OlxyXG4gIC0gRnVsbFxyXG4gIC0gTWluaWZpZWRcclxuICAtIE5vIFRvcCBCYXJcclxuICAtIE1lbnVcclxuLSBWQVQgU3dpdGNoZXJcclxuLSBCcmVhZGNydW1ic1xyXG4tIEJhc2tldCBTdW1tYXJ5IFxyXG4tIENhbGxvdXRzIGluIHRoZSBoZWFkZXIgdG8gbW9kaWZ5IGNhbGxvdXQgc2VlIGF4aXMtbm90aWZpY2F0aW9uLnNjc3NcclxuLSBQcmVkaWN0aXZlIHNlYXJjaCBwb3NpdGlvbmluZyB0byBtb2RpZnkgc2VhcmNoIHN0eWxlIHRoZW4gZ28gdG8gYXhpcy1hdXRvY29tcGxldGUuc2Nzc1xyXG4tIFVTUCBiYXIgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBtb2R1bGUuXHJcbi0gV2VsY29tZSBUZXh0XHJcbi0gVGFnIGxpbmVzXHJcbi0gVE9ETzogSSBhbSBjdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgdHJ5aW5nIHRvIHVudGFuZ2xlIHRoZSBtZWdhIG1lbnUgY3NzICsgbWFrZSBpdCBtb3JlIGdlbmVyaWMgYW5kIHJlaG9tZSBpdCBpbnNpZGUgb2YgYXhpcy1tZW51cy5zY3NzXHJcbiovXG5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGhlYWRlciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldIHtcbiAgICB6LWluZGV4OiAyMDAwOyB9XG4gICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZS1vdXQ7IH0gfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTm9Ub3BCYXJcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bzsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzLCBtYXJnaW4tYm90dG9tIDAuOHM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luOiA1cHggMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXB4IDcuNzVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bzsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAyM3B4OyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAjYWN0aW9uLWJhci1jb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgICAgICAgIHRvcDogNDVweDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCArIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIGEge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLmhvbWUtYnV0dG9uIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5ob21lLWJ1dHRvbiBhOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMS42NjY2N3B4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgLm1lbnUgPiBsaTpub3QoLmhvbWUtYnV0dG9uKSA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMjIuNXB4O1xuICAgICAgICAgIGhlaWdodDogMjIuNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMsIGhlaWdodCAwLjZzOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyLCBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAubG9nby1jb250YWluZXIgLmxvZ28tZnVsbC1zaXplIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAubG9nby1jb250YWluZXIgLmxvZ28tbWluaWZpZWQge1xuICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfSB9XG5cbi5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICBtYXgtd2lkdGg6IDcwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyLjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhLCAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpob3ZlciwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXI6YmVmb3JlLCAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cInRlbDpcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CCXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1zZWFyY2g6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0Lndhcm5pbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQuYWxlcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1tZWdhLW1lbnU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DiVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYWNjb3VudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1hY2NvdW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ah1wiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiAyMDAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLW1lbnUgLmNvbnRlbnQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLW1lbnUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDM0JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpLCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyID4gZGl2Om5vdCgubG9nby1jb250YWluZXIpOm5vdCgjYWN0aW9uLWJhci1jb250YWluZXIpOm5vdCguaGVhZGVyLXNlYXJjaC1jb250YWluZXIpOm5vdCguaGVhZGVyLWNvbXBvbmVudC1zaG93LW1vYmlsZSksIC5oZWFkZXItY29udGVudC1yaWdodCA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAtbXMtZ3JpZC1yb3ctc3BhbjogMjtcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUge1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IGF1dG8gMDsgfVxuICAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudSA+IGxpLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSA+IGxpIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVudS1jb250YWluZXIgdWwgPiBsaSA+IGEsIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jZW50ZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5oZWFkZXItY29udGVudC1yaWdodCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogaW5oZXJpdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAtbXMtZ3JpZC1yb3c6IDI7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7IH0gfVxuICAuaGVhZGVyLWNvbnRlbnQtcmlnaHQgLm1lbnUtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5sb2dvQ29udGFpbmVyLCAubG9nby1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciBhLCAubG9nby1jb250YWluZXIgYSB7XG4gICAgbWF4LXdpZHRoOiA1MHZ3O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubG9nb0NvbnRhaW5lciBhLCAubG9nby1jb250YWluZXIgYSB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIGltZywgLmxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgd2lkdGg6IDE1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgaW1nLCAubG9nby1jb250YWluZXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5sb2dvQ29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvQ29udGFpbmVyIC5sb2dvLW1pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ29Db250YWluZXIgLmxvZ28tbWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ28tbWluaWZpZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA4cHggMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwOmlzKDplbXB0eSkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItdGFnbGluZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci10YWdsaW5lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtYmFzaXM6IDUwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lci5hY3RpdmUgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBvcmRlcjogMTsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgb3JkZXI6IDI7IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICBvcmRlcjogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciBhIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEgc3BhbiwgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEgLnVuaWJveC1oaWdobGlnaHQge1xuICAgICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6YWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIHNwYW4sIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSAudW5pYm94LWhpZ2hsaWdodCB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWMtcmVzdWx0cyB7XG4gICAgICB3aWR0aDogNzAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwcHg7IH0gfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDQwcHggMCA0MHB4OyB9IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaTpub3QoOmZpcnN0LWNoaWxkKTpob3ZlciBhLmFjX3Jlc3VsdHNfZW50cnk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MmRlZyk7IH1cbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIGxpIC5uby1yZXN1bHRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5oZWFkaW5nMiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNUY3QjI3OyB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmhlYWRpbmc0IHtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogNnB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjX3Jlc3VsdHNfZW50cnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMjU1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9IH1cblxuI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA1MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWN0aXZlIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWN0aXZlIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCRXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGNvbG9yOiAjZmY1ZTA1OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gIGNvbG9yOiAjREI2NTFCO1xuICBib3JkZXI6IDFweCBzb2xpZCAjREI2NTFCOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNEQjY1MUI7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gklwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGNvbG9yOiAjYjIwYzBjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiA1MDAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNXB4IDVweDsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmhvdmVyIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6aG92ZXIgLnVwZGF0ZS1tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmFjdGl2ZSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6YWN0aXZlIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogIzkzYjY0ZDsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciBbZGF0YS1iYXNrZXQtc3VtbWFyeS1ub3RpZmljYXRpb25zXSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogMTA7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICB3aWR0aDogMjU1cHg7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOXB4IDIzcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNiNjRkO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxODVweDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDcwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzLWluZm8uYmFza2V0LWRldGFpbHMtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1vcmRlci10b3RhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LXF1YW50aXR5IHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDg1JTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXIgI2Jhc2tldFF1YW50aXR5LCAuc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lciAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN1bW1hcnk6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4uc3VtbWFyeSAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0RCNjUxQjsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gklwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IDM3MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hY3RpdmUgI2Jhc2tldFByZXZpZXcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcbiAgICAgICAgcGFkZGluZzogMjVweCAxMHB4IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiA1MDAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFjdGl2ZSAjYmFza2V0UHJldmlldyB7XG4gICAgICBtYXgtaGVpZ2h0OiA0NjBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweCAzMHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogNTAwMDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyICNyZWNlbnRseUFkZGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgI3JlY2VudGx5QWRkZWQgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIudXBkYXRlLmFjdGl2ZSAjYmFza2V0UHJldmlldyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyNTVweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuYnViYmxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDI1NXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH0gfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5idWJibGUtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE0cHggMjBweDsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuXG4uaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtYmFzaXM6IDUwcHg7IH0gfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3YThlNTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gdWwgPiBsaSB1bCA+ID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwge1xuICAgIHBhZGRpbmc6IDAgMCAxNy41cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpOm5vdCguaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50KSA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7IH0gfVxuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGksIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGksIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGkuaG9tZS1idXR0b24gYSwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpLmhvbWUtYnV0dG9uIGEge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGkgPiBhOmFmdGVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaTpsYXN0LWNoaWxkID4gYTpiZWZvcmUsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaTpsYXN0LWNoaWxkID4gYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbi5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIgKyAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4uaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAwIDEyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyLnRvZ2dsZS1iYXItaW5hY3RpdmUtbW9iaWxlIHtcbiAgICAgIGdhcDogMDsgfSB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIuYWxpZ24taXRlbXMtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b24ge1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5M2I2NGQ7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuc2VhcmNoIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDI2cHg7XG4gICAgcGFkZGluZzogMnB4IDQuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWI3MDE7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2U1YjcwMTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgMC44czsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmhvdmVyIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246YWN0aXZlIC5iYXNrZXQtaXRlbS1jb3VudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5zZWFyY2gge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5zZWFyY2guYWN0aXZlIHtcbiAgICAgIHdpZHRoOiA0OTBweDtcbiAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUuYWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhciB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMTZweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIuYWN0aXZlIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhci5hY3RpdmUgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG5cbi5oZWFkZXItYWNjb3VudC1idXR0b24ge1xuICBtaW4taGVpZ2h0OiAzNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDtcbiAgcGFkZGluZzogMy41cHggNy43NXB4O1xuICBjb2xvcjogIzVGN0IyNztcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uLmxvZ2dlZC1pbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYWNjb3VudC1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI2VlZWVlZTtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cbiAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5M2I2NGQ7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CHXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hY2NvdW50LW1lbnUgYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjY291bnQtbWVudSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4udXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcbiAgcGFkZGluZzogNXB4IDAgNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xuICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuXG4udXNwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudXNwLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC51c3AtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyID4gcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtID4gcCB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDE1cHggNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBpbWcsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYTpob3ZlciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYTphY3RpdmUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyB9XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSBwIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV0ge1xuICAgICAgICBwYWRkaW5nOiAwIDA7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdOmZpcnN0LW9mLXR5cGUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV06bGFzdC1vZi10eXBlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW0sIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7IH1cbiAgICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgei1pbmRleDogMTsgfSB9XG4gIC51c3AtY29udGFpbmVyIC5mYXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cbiAgYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcbiAgICBwYWRkaW5nOiA3LjVweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xuICBwYWRkaW5nOiA3LjVweDsgfVxuXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5icmVhZGNydW1icyksIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmJyZWFkY3J1bWJzKSwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDsgfSB9XG5cbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMi41cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLmdyaWQtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgICAgbWFyZ2luOiAwIDVweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDAuNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4OyB9IH1cblxuLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHNwYW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4udmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZWRpdC1tb2RlLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLWV4YywgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnN3aXRjaC1leGMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5zd2l0Y2gsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuc3dpdGNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIHBhZGRpbmctbGVmdDogMzlweDsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaC1pbmMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuc3dpdGNoLWluYyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaCwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuc3dpdGNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDE2LjE5MDQ4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoOmhvdmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2g6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBtaW4td2lkdGg6IDE0Ljc4MjYxcHg7XG4gICAgaGVpZ2h0OiAxNC43ODI2MXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDguMDk1MjRweDtcbiAgICAgIGhlaWdodDogOC4wOTUyNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1leGMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5jIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1leGMge1xuICAgIHJpZ2h0OiA3cHg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbmMge1xuICAgIGxlZnQ6IDVweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWlucHV0LCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIHAsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgbGFiZWwsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIGxhYmVsIHNwYW4sIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLypcclxuLS0tLS0gRm9vdGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRm9vdGVyIG1lbnUgKCBhbHNvIHJlZmVyIHRvIGF4aXMtbWVudXMuc2NzcyApXHJcbi0gUHJvbW90aW9uIGFyZWE6XHJcbiAgLSBTb2NpYWwgSWNvbnNcclxuICAtIE1haWxpbmcgTGlzdFxyXG4gIC0gQ21zIGVudHJpZXNcclxuLSBGb290ZXIgQmFubmVycyAoIFBheW1lbnQgbWV0aG9kIGxvZ29zIClcclxuLSBDb3B5cmlnaHRcclxuLSBHb29nbGUgVGFnIE1hbmFnZXIgZm9vdGVyIHdpZGdldCBhcmVhXHJcbi0gRm9vdGVyIE1vZHVsZXMgKCBhbHNvIHJlZmVyIHRvIG1vZHVsZXMuc2NzcyApXHJcbiovXG5mb290ZXIgLnJvdy1iYWNrZ3JvdW5kOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbmZvb3RlciAuc29jaWFsSWNvbnMsIGZvb3RlciAuc29jaWFsLWljb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBmb290ZXIgLnNvY2lhbEljb25zLCBmb290ZXIgLnNvY2lhbC1pY29ucyB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgaDM6bm90KDplbXB0eSksIGZvb3RlciAuc29jaWFsLWljb25zIGgzOm5vdCg6ZW1wdHkpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGNvbG9yOiAjN2E4ZTUyO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBmb290ZXIgLnNvY2lhbEljb25zIGgzOm5vdCg6ZW1wdHkpLCBmb290ZXIgLnNvY2lhbC1pY29ucyBoMzpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBmb290ZXIgLnNvY2lhbEljb25zIGEsIGZvb3RlciAuc29jaWFsLWljb25zIGEge1xuICAgIGhlaWdodDogNDVweDtcbiAgICB3aWR0aDogNDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNUY3QjI3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICBmb290ZXIgLnNvY2lhbEljb25zIGE6aG92ZXIsIGZvb3RlciAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIGZvb3RlciAuc29jaWFsSWNvbnMgYTphY3RpdmUsIGZvb3RlciAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBpbWcsIGZvb3RlciAuc29jaWFsLWljb25zIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMi41cHg7IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIGZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmM2YzZjM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmM2YzZjM7IH1cblxuLmZvb3Rlci1ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZvb3Rlci1ncmlkLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi5mb290ZXItY29udGVudC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5mb290ZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLmNvbnRlbnQtaGVhZGVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5jb250ZW50LWhlYWRlciAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAwOyB9IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMge1xuICAgIG1hcmdpbjogMjBweCAwIDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgICAgIG1hcmdpbjogNjBweCAwIDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIucGF5bWVudC1tZXRob2RzIC5mb290ZXItYmFubmVyLXNlcmllcyAuaW1hZ2Uge1xuICAgICAgICBmbGV4LWJhc2lzOiBmaXQtY29udGVudDsgfSB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgKyAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykvdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xuICAgICAgICBnYXA6IDAgMjQuNXB4O1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIGEge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyAuaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG5cbi5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDAgYXV0byAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG8gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzdhOGU1MjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUge1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICBjb2xvcjogIzdhOGU1MjsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkge1xuICBtYXJnaW46IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmZpcnN0LWNoaWxkIHAsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgcCwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogIzdhOGU1MjsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYTpub3QoW2hyZWZdKSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpIHtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgb3JkZXI6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjN2E4ZTUyO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGEsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHAge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhW2hyZWZdOmhvdmVyLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwW2hyZWZdOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYVtocmVmXTphY3RpdmUsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHBbaHJlZl06YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfSB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiAzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMC41cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDIxcHg7IH0gfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMC41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSAubGluay1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbi5tYWluLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG9yZGVyOiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24ubWFpbi1tZW51IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gLm1lbnUgLmlzLXN1Ym1lbnUtaXRlbSBhIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNEQjY1MUI7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphY3RpdmUge1xuICBjb2xvcjogIzVGN0IyNzsgfVxuXG4uZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAzOyB9XG4gIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMzBweDsgfSB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgY29sb3I6ICM3YThlNTI7XG4gICAgICBmb250LXNpemU6IDE3O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBjb2xvcjogIzdhOGU1MjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyID4gZGl2IHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuXG4uZm9vdGVyLXByb21vdGlvbnMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5mb290ZXItcHJvbW90aW9ucyB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZm9vdGVyLXByb21vdGlvbnMgKyAuZm9vdGVyLW5hdmlnYXRpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5mb290ZXItcHJvbW90aW9ucyArIC5mb290ZXItbmF2aWdhdGlvbiAubWVudSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyLCAuZm9vdGVyLXByb21vdGlvbnMgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zIC5zb2NpYWxJY29ucywgLmZvb3Rlci1wcm9tb3Rpb25zIC5zb2NpYWwtaWNvbnMge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMzsgfVxuXG4uZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nIGgzIHtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgY29sb3I6ICM3YThlNTI7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5mb290ZXItcHJvbW90aW9uLWhlYWRpbmcgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5mb290ZXItbG9nby1jb250YWluZXIge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5mb290ZXItbG9nby1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG5cbi5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDsgfSB9XG4gIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH0gfVxuICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuZm9vdGVyLXJldmVhbC1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODU5MjZjOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIuYWN0aXZlIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDsgfSB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlcjphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWN0aXZlLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkzYjY0ZDtcbiAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFjdGl2ZTphZnRlciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpkaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5kaXNhYmxlZCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGlua1tkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmhvdmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphZnRlciB7XG4gICAgY29udGVudDogXCLvh5hcIjtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLm1haWxpbmctbGlzdC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA1NXB4OyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgaDMge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgY29sb3I6ICM3YThlNTI7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHNwYW4ubWFpbC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGZvcm0gaW5wdXQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9IH1cbiAgLmZvb3Rlck91dGVyQ29udGFpbmVyICNmb290ZXItaW5uZXItY29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQgI2Zvb3Rlci1pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qXHJcbi0tLS0tIEFKQVggLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBBSkFYIFNwaW5uZXJcclxuLSBDYWxsYmFjayBjb250YWluZXJzXHJcbi0gVXBkYXRlIENvbnRlbnQgLSBCYXNpY2FsbHkgYSBjb250YWluZXIgaW5zaWRlIG9mIHRoZSBhamF4IHJlc3BvbnNlIHRoYXQgYWxsb3dzIHlvdSB0byB1cGRhdGUgY29udGVudCBvdXRzaWRlIG9mIHRoZSBjYWxsYmFjayBjb250YWluZXIuXHJcbiovXG4uY2FsbGJhY2tDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNhbGxiYWNrQ29udGFpbmVyOmhhcyguQUpBWEJsb2NrKSB7XG4gICAgbWluLWhlaWdodDogNTBweDsgfVxuXG4uY2FsbGJhY2tMaXN0Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5BSkFYQmxvY2ssIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAwLjYpO1xuICBjdXJzb3I6IG5vLWRyb3A7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG4gIC5BSkFYQmxvY2sgLnNwaW5uZXIsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lciB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuQUpBWEJsb2NrIC5zcGlubmVyOmJlZm9yZSwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5zcGlubmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDQycHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoOTUsIDEyMywgMzksIDAuMik7XG4gICAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzVGN0IyNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjdzIGN1YmljLWJlemllcigwLjU2LCAwLjExLCAwLjIyLCAwLjg2NSkgMHMgaW5maW5pdGU7XG4gICAgICB6LWluZGV4OiAxOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgfSB9XG4gICAgLkFKQVhCbG9jayAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lciArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAuQUpBWEJsb2NrIC5jbXMtY29udGVudC1jb250YWluZXIgcCwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5bZGF0YS11cGRhdGUtY29udGVudF0sIFtkYXRhLWFqYXgtdXBkYXRlLWJyZWFkY3J1bWJzXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuLS0tLS0gRmlsdGVycyAtLS0tLS0gXHJcbi0gVGhlc2UgYSB0eXBpY2FsbHkgb24gbGlzdCBwYWdlcyBmb3IgcHJvZHVjdHMuXHJcbi0gQXR0cmlidXRlIGZpbHRlcnMgdGhhdCBhbHNvIGluY2x1ZGUgY29sb3VyIGZpbHRlcnMgYW5kIHByaWNlIHNsaWRlci5cclxuLSBZb3Ugd2lsbCBhbHNvIGZpbmQgdGhlIG1vYmlsZSBzdHlsZXMgaGVyZSBmb3IgZmlsdGVycy5cclxuKi9cbiNtb2JpbGVUb2dnbGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAjZmlsdGVycy10b2dnbGU6aG92ZXIsIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNmaWx0ZXJzLXRvZ2dsZTpob3ZlcjpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpub3QoLmlzLXN0dWNrKSwgLmZpbHRlci10b2dnbGU6bm90KC5pcy1zdHVjaykge1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gICNmaWx0ZXJzLXRvZ2dsZS5pcy1zdHVjaywgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2sge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA0cztcbiAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgI2ZpbHRlcnMtdG9nZ2xlLmlzLXN0dWNrOmJlZm9yZSwgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2s6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpob3ZlciwgLmZpbHRlci10b2dnbGU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAuZmlsdGVyLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjZmlsdGVycy10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQsIC5maWx0ZXItdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNC4ycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgYm9yZGVyOiAwLjhweCBzb2xpZCAjZmZmZmZmOyB9IH1cblxuLmZpbHRlcnMtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZmlsdGVycy1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuOCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5maWx0ZXJzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmZpbHRlcnMtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuI2ZpbHRlckJhY2tUb0xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2ZpbHRlckJhY2tUb0xpc3QgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NSwgMTIzLCAzOSwgMC40KTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51ID4gdWwgPiBsaTpub3QoLmFjdGl2ZSkgLmF0dHJpYnV0ZXNDb250YWluZXIge1xuICBoZWlnaHQ6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDsgfSB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWw6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGkge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpLmFjdGl2ZSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGkuYWN0aXZlIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwgbGk6aG92ZXIgLmZpbHRlck5hbWUsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwgbGk6aG92ZXIgLmZpbHRlckl0ZW1Db3VudCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuY29sb3VyUHJldmlldyB7XG4gICAgICAgIG1heC13aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbDpob3ZlciB7XG4gICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWw6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmZpbHRlck5hbWUge1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyLXByZXZpZXctY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29sb3VyUHJldmlldyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuZmlsdGVySXRlbUNvdW50IHtcbiAgICBvcmRlcjogMjtcbiAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5jb250cm9sIC5jaGVja2JveCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG9yZGVyOiA0OyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29udHJvbCAuY2hlY2tib3ggc3BhbjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbVthcmlhLWV4cGFuZGVkPXRydWVdID4gYSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbS5hY3RpdmUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51W2FyaWEtaGlkZGVuPXRydWVdIHtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44czsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS5zY3JvbGxlciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUuc2Nyb2xsZXIgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzVGN0IyNztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZzphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnN1Ym1lbnUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGEsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmhvdmVyLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhOmFjdGl2ZSwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjOTNiNjRkOyB9XG5cbi5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGEge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnNob3dNb3JlQXR0cmlidXRlcy5hY3RpdmUgYTpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNob3dMZXNzQXR0cmlidXRlcyBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM5M2I2NGQ7IH1cbiAgICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzkzYjY0ZDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuI2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcgI2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4zOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUsICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDAwMDsgfVxuICAgICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlIC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIsICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyAuYXR0cmlidXRlLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsgfSB9XG4gICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIGgyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSBoMiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfSB9XG4gICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmFjdGl2ZSwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTphY3RpdmUgYSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSAuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSAuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICNhcHBsaWVkRmlsdGVycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG5cbiNhcHBsaWVkRmlsdGVycyBoMyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbiNhcHBsaWVkRmlsdGVycyB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDVweCAwIDA7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGxpOmhvdmVyIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgI2FwcGxpZWRGaWx0ZXJzIGxpOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbiNhcHBsaWVkRmlsdGVycyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICd4JztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDAuNjtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAjYXBwbGllZEZpbHRlcnMgYTpob3ZlcjphZnRlciB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhLmNsZWFyLWFsbC1hdHRyaWJ1dGVzIHtcbiAgICBtYXJnaW46IDMwcHggMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmlucHV0LnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIG1heC13aWR0aDogNzBweDtcbiAgbWF4LWhlaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dC51aS1zdGF0ZS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0LnVpLXN0YXRlLWFjdGl2ZSArIC5jdXJyZW5jeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQgKyAuY3VycmVuY3kge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQ6Zm9jdXMgKyAuY3VycmVuY3kge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogLTE1cHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dDpyZWFkLW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcmljZS1pbnB1dC1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4jcHJpY2Utc2xpZGVyIHtcbiAgbWF4LXdpZHRoOiA5NiU7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNwcmljZS1zbGlkZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MyU7IH0gfVxuXG4jcHJpY2VBdHRIaWdoIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qXHJcbi0tLS0tIE1vZGFscyAtLS0tLS0gXHJcbi0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHRoYXQgZ2V0cyB1c2VkIGZvciBwb3B1cCBjb250ZW50IGluIGV4cHJlc3MuXHJcbi0gQ2FuIGJlIHVzZWQgdG8gcG9wIGZvcm0sIGNtcyBjb250ZW50LCBub3RpZmljYXRpb24gJiBwYXltZW50IGZyYW1lcy5cclxuKi9cbi5tb2RhbC1jb250YWluZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucG9wdXAtYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAzMHB4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAyMDAxOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUgLnBvcHVwLWJhY2tncm91bmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRyb3BwZWQtc2Vzc2lvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGgpICsgMTAwcHgpOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY21zLWVudHJ5LXZpZXdlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zaXRlLWxpc3QucHVibGlzaC1oaXN0b3J5IC5jb250ZW50IHtcbiAgICB3aWR0aDogOTAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc2l0ZS1saXN0LnNpdGUtaW5mb3JtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24ge1xuICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICRjb2xvdXIzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5OCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5tb2RhbC1oZWFkZXI6aGFzKC5jbXMtY29udGVudC1jb250YWluZXIpIH4gLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiB1bnNldDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNrLWVkaXRvcl9fbWFpbiA+IGRpdiB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWVkaXRvci1oZWlnaHQpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmluc2VydC1hcnRpY2xlIC5jay1lZGl0b3IgLmNrLWNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5pbnNlcnQgLmNrLWVkaXRvciAuY2stY29udGVudCwgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLnByb3BlcnR5LWVkaXRvciAuY2stZWRpdG9yIC5jay1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMzB2aDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbiAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWVkaWEtYnJvd3NlciAubWVkaWEtYnJvd3Nlci1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLnJldmlzaW9uLXRleHQge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MHB4IDFmciAzMHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXI6YmVmb3JlLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyOmFmdGVyLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5idXR0b24tbGFiZWwsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qGBXCI7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AmVwiO1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gc3BhbiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5kYXRhLXRpbWUtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCBpZnJhbWUsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIGlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA2MzBweDtcbiAgICBoZWlnaHQ6IDYyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZTpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZW5xdWlyeS1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDA7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0sIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTlweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiBhdXRvO1xuICAgIC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyICNicmFuY2gtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyICNhY2NvdW50LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDgwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJyYW5jaC1zd2l0Y2hlciwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJyYW5jaC1zd2l0Y2hlciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJyYW5jaC1zd2l0Y2hlciBoMywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIGgzLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJyYW5jaC1zd2l0Y2hlciBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5hY2NvdW50LXN3aXRjaGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyAuYWRkcmVzcy1saW5lIHtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmxhYmVsLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIudGFibGUgLmNvbnRlbnQge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5tb2RhbC1oZWFkZXIgaDMge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5tb2RhbC1oZWFkZXIgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHotaW5kZXg6IDE1MDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDczMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgI3VzZXJzLWJyYW5jaC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IDAgYXV0byAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgI3VzZXJzLWJyYW5jaC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuc2VsZWN0LWJyYW5jaGVzLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLnRhYmxlLWZvb3Rlci1zcGFjZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5icmFuY2gtc2VhcmNoIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLmNvbnRyb2wuY2hlY2tib3gge1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgIHBhZGRpbmc6IDVweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQ2NXB4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuc2Nhbm5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnNjYW5uZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLnNjYW5uZXIgLmNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjkwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDg1MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk1dnc7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAuY29udGVudC1jb250YWluZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5OyB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLnZpZGVvLXBsYXllciAuY29udGVudC1jb250YWluZXIgW2luamVjdC1jb250YWluZXJdIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5tb2RhbC1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgcGFkZGluZzogNXB4IDQ0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdhOGU1MjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5tb2RhbC1oZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMTZweCA0NHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lci5kaXNhYmxlZC1uby1jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lcjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMTIuNXB4O1xuICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogY29udHJhY3QtY2hlY2tlcigjREI2NTFCLCAjN2E4ZTUyKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogMTZweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDI2LjY2NjY3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmNWY3ZWQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmNWY3ZWQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2U6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTE1cHggMTM1cHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBzdHJvbmcge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDg4NXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5tb2RhbC1sb2dvIHtcbiAgICB3aWR0aDogMTM1cHg7XG4gICAgaGVpZ2h0OiAxMzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogNzBweDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZ5cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMzVweDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDIzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y1ZjdlZDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiA4MHZ3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiA2NDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24gaDIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiAubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuLmluamVjdC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baW5qZWN0LWNvbnRhaW5lcl0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbaW5qZWN0LWNvbnRhaW5lcl06aGFzKGRpdi5BSkFYQmxvY2spIHtcbiAgICBtaW4td2lkdGg6IDMyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgW2luamVjdC1jb250YWluZXJdOmhhcyhkaXYuQUpBWEJsb2NrKSB7XG4gICAgICAgIG1pbi13aWR0aDogNjQwcHg7IH0gfVxuICBbaW5qZWN0LWNvbnRhaW5lcl0gLm1vZGFsLWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMzBweDsgfVxuXG4uaW5qZWN0LWJ1dHRvbiB7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmluamVjdC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmluamVjdC1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAuaW5qZWN0LWJ1dHRvbi5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuaW5qZWN0LWJ1dHRvbi5mb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwIDUwcHggMCBhdXRvOyB9IH1cbiAgICAuaW5qZWN0LWJ1dHRvbi5mb3JtOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLypcclxuLS0tLS0gTW9kdWxlcyAtLS0tLVxyXG5UaGVzZSBjYW4gYmUgdXNlZCBhbnl3aGVyZSBvbiB0aGUgc2l0ZSBoZWFkZXIsIG1haW4gY29udGVudCAmIGZvb3RlciwgdGhlc2UgaGF2ZSBhIGhhcmQgZGVwZW5kYW5jeSBvbiBmb3VuZGF0aW9uIFhZIGdyaWQgc3lzdGVtIGZvciB0aGVpciBwb3NpdGlvbmluZy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBQcm9kdWN0IC8gSW1hZ2UgY29sbGVjdGlvbnNcclxuICAtIEdyaWQgdmlld1xyXG4gIC0gU2xpZGVzaG93IHZpZXdcclxuLSBWYXJvdXMgQ01TIHR5cGVzOlxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBHZW5lcmljIENNUyBlbnRyaWVzIFxyXG4tIEVCRyBJbmZvcm1hdGlvblxyXG4tIEJhY2tncm91bmRzICggQ3VycmVudGx5IG9ubHkgc3VwcG9ydCBqdXN0IGNvbG91cnMgbm90IGltYWdlcyApOiBcclxuICAtIFJvdyBCYWNrZ3JvdW5kcyBcclxuICAtIE1vZHVsZSBCYWNrZ3JvdW5kc1xyXG4qL1xuLnJvdy1iYWNrZ3JvdW5kOmZpcnN0LW9mLXR5cGUgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQ1cHg7IH0gfVxuICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIC5yb3ctYmFja2dyb3VuZCAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cblxuLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9XG5cbi5ncmlkLWNvbnRhaW5lciAubW9kdWxlLWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcge1xuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5jb250ZW50LWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiA2LjUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogMzc1cHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3RoIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbGxlY3Rpb24ge1xuICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbSAuaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDNweDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLXJlbW92ZS1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLXNtYWxsLWd1dHRlciB7XG4gICAgLS1tb2R1bGUtZ3V0dGVyOiA3LjVweDsgfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogMTEuNTM4NDZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbWVkaXVtLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmNvbGxlY3Rpb24tbGFyZ2UtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDM4LjQ2MTU0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uLmltYWdlLWdyaWQtbW9kdWxlLCAuY29sbGVjdGlvbi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmNvbGxlY3Rpb24gLmNvbGxlY3Rpb24taXRlbS5lYmcge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgLmNvbGxlY3Rpb24gLmdyaWQtbWFyZ2luLXggPiAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLXgge1xuICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC00IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC03IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLm1lZGl1bS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTgge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTEgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIxXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE4MDBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgICBtYXgtaGVpZ2h0OiA2MzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTIgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIyXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNjQ0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA2NDRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0MThweDtcbiAgICBtYXgtaGVpZ2h0OiA0MThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTMgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCIzXCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNDI0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MjRweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMTJweDtcbiAgICBtYXgtaGVpZ2h0OiAzMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMzE2cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAzMTZweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNDlweDtcbiAgICBtYXgtaGVpZ2h0OiAyNDlweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTUgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI1XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyMDVweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTYgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI2XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjA3cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDdweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNzVweDtcbiAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcgLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI3XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNzVweDsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxNTNweDtcbiAgICBtYXgtaGVpZ2h0OiAxNTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTggLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2UsIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI4XCJdIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTUycHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNTJweDsgfSB9XG4gIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5jb21wYWN0IC5kZXNjcmlwdGlvbiwgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlcjpub3QoLmNvbXBhY3QpIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiBTZXR0aW5nIHRoaXMgZ2VuZXJpY2FsbHkgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcclxuICAgICAgICAgICAgMS4gSWYgY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMgaXMgZW5hYmxlZFxyXG4gICAgICAgICAgICAyLiBJZiBpbWFnZSBzY2FsZSBpcyBlbmFibGVkLlxyXG4gICAgICAgICAgICAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UsIC5jb2xsZWN0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3Zlci5pbWFnZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5pbWFnZS1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLmNvbGxlY3Rpb24gLmdyaWQtY29sbGVjdGlvbi14IHtcbiAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTVweCk7IH0gfVxuICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCwgLmNvbGxlY3Rpb24gLmdyaWQtY29sbGVjdGlvbi14IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjIzNDM4cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjIzNDM4cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGdhcDogMTBweCAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDYwJSAtIDEwcHgpIGNhbGMoNDAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICBnYXA6IDEwcHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg0MCUgLSAxMHB4KSBjYWxjKDYwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIG9yZGVyOiAxOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5pbWFnZSB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogNXB4OyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNUY3QjI3KTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICBjb2xvcjogI0RCNjUxQjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnNwZWNpZmljYXRpb24gcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29kZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIGZvcm0sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24ge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItd2lkdGg6IDAgMCA1cHggMDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aG92ZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5jZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5pbWFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cblxuLmNtcy1tb2R1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuY21zLW1vZHVsZSBoMSB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1tb2R1bGUgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgyOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogI0RCNjUxQjtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg0IHtcbiAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoNDpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDU6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDYge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDY6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1tb2R1bGUgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtbW9kdWxlIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuY21zLW1vZHVsZSBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLW1vZHVsZSB1bCwgLmNtcy1tb2R1bGUgb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5jbXMtbW9kdWxlIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuY21zLW1vZHVsZSB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuY21zLW1vZHVsZSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmNtcy1tb2R1bGUgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5jbXMtbW9kdWxlIGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMSwgLmNtcy1tb2R1bGUgb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgyLCAuY21zLW1vZHVsZSBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDMsIC5jbXMtbW9kdWxlIG9sICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNCwgLmNtcy1tb2R1bGUgb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg1LCAuY21zLW1vZHVsZSBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDYsIC5jbXMtbW9kdWxlIG9sICsgaDYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmNtcy1tb2R1bGUgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLW1vZHVsZSBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAuY21zLW1vZHVsZSB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICBnYXA6IDEwcHg7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSA+IGltZyB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuY21zLW1vZHVsZSBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNtcy1tb2R1bGUgY29kZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSB7XG4gICAgZ2FwOiAyNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgODEwcHgpKTtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgZ2FwOiA1MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiA1MHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDcuNSU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA0NzVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgZ2FwOiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tY2VudGVyIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3Age1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3AgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3AuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAucmVhZC1tb3JlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0OmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwOyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5yZWFkLW1vcmUge1xuICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdDpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxheW91dC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3Q6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIgaW1nLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtaGVhZGluZywgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNtcy1jb250ZW50LCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNtcy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyICsgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciArIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWJhbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5jb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKSAuY29udGVudC1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jbXMtbW9kdWxlIC5tb2R1bGUtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY21zLW1vZHVsZSAuYmxvZy1idXR0b24sIC5jbXMtbW9kdWxlIC5uZXdzLWJ1dHRvbiwgLmNtcy1tb2R1bGUgLmV2ZW50cy1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgd2lkdGg6IDU5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3MHB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNzVweDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQgLnJvdy1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSAubmV3cy1tb2R1bGUge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAubmV3cy1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAubmV3cy1tb2R1bGUge1xuICAgICAgbWFyZ2luOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW46IDQwcHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZCAucm93LWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUuY2Fyb3VzZWwtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgMCA1MHB4OyB9XG5cbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbCgyMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtZnVsbC1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyB7XG4gICAgICBmbGV4OiAxOyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDMwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSAuY21zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubW9kdWxlLWNvbmZpZyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSwgLm1vZHVsZS1jb25maWcgc3Ryb25nLCAubW9kdWxlLWNvbmZpZyBoMyB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLm1vZHVsZS1jb25maWcgbGksIC5tb2R1bGUtY29uZmlnIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgLm1vZHVsZS1jb25maWcgbGkgc3Ryb25nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5tb2R1bGUtY29uZmlnIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubW9kdWxlLWNvbmZpZyBoMzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cblxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUge1xuICAtLWJvcmRlci1yYWRpdXMtc21hbGw6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDI1JTtcbiAgLS1ib3JkZXItcmFkaXVzLXhsYXJnZTogNTAlO1xuICAtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XG4gIC0tYm9yZGVyLXdpZHRoLWxpZ2h0OiAycHg7XG4gIC0tYm9yZGVyLXdpZHRoLW1lZGl1bTogNXB4O1xuICAtLWJvcmRlci13aWR0aC1ib2xkOiAxMHB4O1xuICAtLWltYWdlLXJlZHVjZS1zbWFsbDogLjk1O1xuICAtLWltYWdlLXJlZHVjZS1tZWRpdW06IC44MDtcbiAgLS1pbWFnZS1yZWR1Y2UtbGFyZ2U6IC42MDsgfVxuICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1ib3JkZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtYm9yZGVyIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgI2ZmZmZmZik7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICNmZmZmZmYpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuOHM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmJlZm9yZSwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC44czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSAvIDIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYygodmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSkgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgb3BhY2l0eTogMTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlciBpbWcsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tcmVkdWNlLWltYWdlLCAwLjk1KSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuaW1hZ2UgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmNlbGwtYm9yZGVyLWRlZmF1bHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5jZWxsLWJvcmRlci1kZWZhdWx0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNzsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyB7XG4gIHBhZGRpbmc6IDIwcHggMCAwO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtdG9wIC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDEwMHB4OyB9IH1cblxuLmFuaW1hdGlvbi1tb2R1bGUge1xuICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7IH1cbiAgLmFuaW1hdGlvbi1tb2R1bGUgW2RhdGEtYW5pbWF0aW9uXSB7XG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8pOyB9XG5cbi8qXHJcbi0tLS0tIFN0b2NrIEluZGljaWF0b3IocykgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBJbnN0b2NrLCBPdXQgb2Ygc3RvY2sgJiBMb3cgc3RvY2sgaWNvbnMuXHJcbi0gRW1haWwgd2hlbiBiYWNrIGluIHN0b2NrXHJcbiovXG4uc3RvY2staW5kaWNhdG9yLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBwOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSAuc3RvY2tMZXZlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zdG9jay1pbmRpY2F0b3IucHJlc2V0MiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgYTpob3ZlciwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIGE6aG92ZXIsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWwge1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCAubGFiZWw6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogIzdhOGU1MjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgc3BhbiB7XG4gIGNvbG9yOiAjN2E4ZTUyOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSAubGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICNjMDkwMTg7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIHNwYW4ge1xuICBjb2xvcjogI2MwOTAxODsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIC5zdG9ja0xldmVsIHtcbiAgY29sb3I6ICM1RjdCMjc7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpob3ZlciAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogI0RCNjUxQjsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmUgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29sb3I6ICM1RjdCMjc7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24gLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb246bm90KC5hY3RpdmUpOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74OzXCI7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICM1RjdCMjc7IH1cblxuLnN0b2NrLWluZGljYXRvciBbZGF0YS10b29sdGlwXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLnN0b2NrLWluZGljYXRvciAubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY29sbGVjdGlvbi1vbmx5LWluZGljYXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCYXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyB7XG4gICAgICB0b3A6IDEwdncgIWltcG9ydGFudDsgfSB9XG4gICNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMgLmNtc0NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNub3RpZmljYXRpb25Gb3JtQ29udGFpbmVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbiNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gIG1heC13aWR0aDogODV2dztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDMwdnc7IH0gfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtICNub3RpZmljYXRpb25EZXRhaWxzRm9ybVN1Ym1pdDplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk1LCAxMjMsIDM5LCAwLjUpO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5bZGF0YS1zdG9jay1pbmRpY2F0b3ItdXBkYXRlXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoY2FsYygzMCUgLSA3LjVweCksIDFmcikgbWlubWF4KGNhbGMoNzAlIC0gNy41cHgpLCAxZnIpO1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmlnaHQsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICAgICAgZ2FwOiAxMHB4IDA7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0IC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiAxMHB4IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZTpub3QoOmhhcygqKSkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUgaHIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNoYXJlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNoYXJlLWJ1dHRvbjphZnRlciB7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4gICAgICBnYXA6IDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDI1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweCAzMHB4OyB9IH1cblxuLnF1YW50aXR5LW1vZHVsZSwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnF1YW50aXR5LW1vZHVsZSAubGFiZWwsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLnNlbGVjdCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAuc2VsZWN0IHtcbiAgICB3aWR0aDogdW5zZXQ7IH1cbiAgICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiB1bnNldDsgfVxuXG4jbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHggNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNtYWluLXByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCAwOyB9IH1cblxuI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7IH0gfVxuICAjcHJvZHVjdEltYWdlICNhZGRpdGlvbmFsLWltYWdlcywgI3Byb2R1Y3RJbWFnZSAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzc1cHg7IH0gfVxuICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuc2xpZGUuYWN0aXZlIC50aHVtYm5haWwge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzhjOGU4YTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldixcbiAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXY6YmVmb3JlLFxuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2IHtcbiAgICAgICAgcmlnaHQ6IDMwcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXY6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0IHtcbiAgICAgICAgbGVmdDogMjFweDsgfVxuICAgICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH0gfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXI6aG92ZXIgLm92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXIgLm92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvM2RpY29uLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEyLjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE4LCAyMTgsIDIxOCwgMC4yKTsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIGltZyB7XG4gICAgbWF4LWhlaWdodDogNTUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZTpob3ZlciwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSBpbWcsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlICsgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlczpoYXMoaW1nKSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZykge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7IH1cblxuLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUge1xuICBtYXJnaW46IDAgMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfSB9XG5cbi5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAucGFydC1jb2RlLWNvbnRhaW5lciBwLCAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgc3BhbiwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBnYXA6IDEwcHggMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnZhbHVlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIGJ1dHRvbiwgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC50b29sdGlwLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciBidXR0b24sIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAudG9vbHRpcC10cmlnZ2VyIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG5cbiNwcm9kdWN0ICNwcm9kdWN0LWluZm8tbGVmdCBoMSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuc2xpZGUgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuYWRkQnV0dG9uQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBvcmRlcjogNDsgfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgcCwgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC5wcm9kdWN0LXJlYWQtbW9yZSB7XG4gICAgaGVpZ2h0OiAxNHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnRhYmJlZC1yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgLmNhcm91c2VsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3JkZXI6IDQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cblxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMTVweCAwIDEwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtdG94aWMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnXCIpOyB9XG4gICAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbi5oYXotY2F0LWdhcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtY29ycm9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZW52aXJvbm1lbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZXhwbG9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZmxhbW1hYmxlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3pvbmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3hpZGlzaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtaGVhbHRoIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2Z1wiKTsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgbGkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMSwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgzLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDUsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg2LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgcCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyLnByb2R1Y3Qtbm90ZXMge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyLnByb2R1Y3Qtbm90ZXMgLnJlYWQtbW9yZTpub3QoOmhhcygucmVhZC1tb3JlLWNvbnRlbnQpKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDsgfVxuXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI3NwbGl0LXNwZWNpZmljYXRpb24gdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3NwbGl0LXNwZWNpZmljYXRpb24gdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiBsaSB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gbGksICNzcGxpdC1zcGVjaWZpY2F0aW9uIHAsICNzcGxpdC1zcGVjaWZpY2F0aW9uIGEsICNzcGxpdC1zcGVjaWZpY2F0aW9uIHNwYW4ge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuXG4uc3BsaXQtc3BlY2lmaWNhdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnJycCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1wcmljZSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1zaXplIHtcbiAgICBvcmRlcjogNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLWl0ZW0tcHJpY2Uge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnNhdmluZyB7XG4gICAgb3JkZXI6IDM7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC5sYWJlbDplbXB0eSArIC52YWx1ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgb3JkZXI6IDU7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLmNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLnByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLmFkZC1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGQuY29kZS1jb2wge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgbGkge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgxLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDMsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg0LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDYsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBkbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciAuZmF2b3VyaXRlczphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjNmM3YzA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiBzcGFuLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHNwYW4ge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUge1xuICAgIG1hcmdpbjogMTVweCAwIDA7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRoLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAwIDVweCAxMHB4OyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0Ym9keSB0ZCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGJvZHkgdGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0Ym9keSB0ZC5zYXZpbmdzLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGJvZHkgdGQuc2F2aW5ncy1jb2wge1xuICAgICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnF1YW50aXR5LWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnF1YW50aXR5LWNvbCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAucHJpY2UtcGVyLWl0ZW0tY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAucHJpY2UtcGVyLWl0ZW0tY29sIHtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5zYXZpbmdzLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnNhdmluZ3MtY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMjBweDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAtLXByaWNlLW1heC13aWR0aDogMWZyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gICAgICAtLXByaWNlLW1heC13aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAgICAgLS1wcmljZS1tYXgtd2lkdGg6IDQwJTsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XG4gIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlIC52YWx1ZSB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMjBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCB2YXIoLS1wcmljZS1tYXgtd2lkdGgpKSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTkwcHgsIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtIDEwcHgpKSk7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOTBweCwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gMTBweCkpKTtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6bm90KDpoYXMoKikpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOm5vdCg6aGFzKCopKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDIwcHggLyAyICogLTEpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOmhhcygrIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IGNhbGMoMjBweCAvIDIgKiAtMSk7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IHVuc2V0OyB9IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnNhdmluZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnNhdmluZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAgKyAuc2F2aW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwICsgLnNhdmluZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YWx1ZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIC5jYXNlLXByaWNlIHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcgLnByaWNlIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4uZGVsaXZlcnktY291bnRkb3duLWNvbnRhaW5lciBbZGF0YS1jb3VudGRvd24tdGltZV0ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlcyAuY29sbGVjdGlvbi1pdGVtLmFjdGl2ZSAudGh1bWJuYWlsIGEsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RCNjUxQjtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC44czsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6aG92ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTphY3RpdmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTksIDEwMSwgMjcsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC42czsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8zZGljb24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE4LCAyMTgsIDIxOCwgMC4yKTsgfVxuICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS52aWRlby10aHVtYm5haWwgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGF1dG87IH0gfVxuXG4uZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBhLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHNwYW4sIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gcCwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBkaXYge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgc3BhbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjE1NjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjE1NjI1cmVtOyB9IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pO1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0xID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMiA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMyA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNCA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtNSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjMxMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE1NjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4xNTYyNXJlbTsgfSB9XG5cbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgY29sb3I6ICM3YjdiN2I7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjg7IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmxhYmVsLCAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDI3JTsgfSB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucGFydC1jb2RlLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0xICNwcm9kdWN0SW1hZ2UsICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMjsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMiAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjVweCAwIDQ1cHg7IH0gfVxuXG4ucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkpO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgaDMge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNhMjM0ZTM7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogMTBweCA0MHB4OyB9IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHJbY29sc3Bhbj1cIjJcIl0gdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuI2Jhc2tldC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldC1mb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICNiYXNrZXQtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuXG4jYmFza2V0LXRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIHRkOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCksICNiYXNrZXQtdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEzMnB4OyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIgc3BhbjsgfSB9XG4gICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICBtaW4td2lkdGg6IDQwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4IDA7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMjVweCAwOyB9IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6IHJnYmEoMTQ5LCAxNDksIDE0OSwgMC42KTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAjYmFza2V0LXRhYmxlIC5zdWJzaWRpYXJ5LWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI2Jhc2tldC10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7XG4gICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCAjYmFza2V0LXRhYmxlIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgbWF4LXdpZHRoOiAxNSU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLnZhdC1yYXRlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmFkZC10by1iYXNrZXQtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCB7XG4gICAgICB3aWR0aDogMTElOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICB3aWR0aDogNjAlO1xuICAgIG9yZGVyOiAyO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBvcmRlcjogNDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgIHdpZHRoOiA1JTsgfSB9XG4gICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcmRlcjogNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICNiYXNrZXQtdGFibGUgLnJlbW92ZS1idXR0b24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgI2Jhc2tldC10YWJsZSAuYmFza2V0VXBkYXRlUm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cgdGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sIC5jb2wtbGFiZWwsICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIC5jb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAzMHB4O1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRkOm5vdCguaW1hZ2UtY29sKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG5cbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogc3BhbiA0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5pbWFnZS1jb2wge1xuICAgICAgd2lkdGg6IDEyLjIlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5wcmljZS1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcbiAgZ3JpZC1yb3c6IDM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgZ3JpZC1yb3c6IDQ7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gICAgICB3aWR0aDogMTguOSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5hZGRUb0Jhc2tldC5pY29uLCB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcbiAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbnRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIC5jb2wtbGFiZWwsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQgLmNvbC1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3IsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCwgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSwgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHksIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1jb2RlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMzsgfSB9XG5cbnRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLnZhdC1yYXRlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA1OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgd2lkdGg6IDEwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCAucmVtb3ZlLWJ1dHRvbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wgLnJlbW92ZS1idXR0b24ge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbiNiYXNrZXQtc3RpY2t5LXN1bW1hcnktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAjYmFza2V0IC5iYXNrZXQtaXRlbS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIHBhZGRpbmc6IDQ1cHg7IH0gfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgaDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74ORXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjOTNiNjRkOyB9XG4gICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgICNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSAuY21zLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXI6aGFzKC5zZXBlcmF0b3I6bm90KDplbXB0eSkpIHtcbiAgICBnYXA6IDIwcHg7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIuaW52YWxpZCBhIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4IDVweCk7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5M2I2NGQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzkzYjY0ZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246YWN0aXZlLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24uZGlzYWJsZWQsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0gKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLnZvdWNoZXIgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgKxcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52YXQgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvipVcIjsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciBsYWJlbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBjb2xvcjogIzkzYjY0ZDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBuby13cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci5pcy1pbnZhbGlkLWNvbnRhaW5lciArIC5mb3JtLWVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkzYjY0ZDsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHgpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmFjdGl2ZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5M2I2NGQ7XG4gICAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpkaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHlbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTphY3RpdmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkzYjY0ZDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzkzYjY0ZDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpkaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZS5kaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0yIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0zIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBhIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBhIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgxLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDMsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg0LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDYsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGEge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmRpc2FibGVkIHAge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YmVmb3JlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ud2FybmluZy1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLndhcm5pbmctY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jYmFza2V0LWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDIwcHggMCAzNXB4O1xuICBnYXA6IDE1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNiYXNrZXQtY29udHJvbHMge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcbiAgICAgIGdhcDogMTVweCAwOyB9IH1cbiAgI2Jhc2tldC1jb250cm9scyAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGdhcDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBnYXA6IDE1cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzMHB4KTtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDphY3RpdmUsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgKFcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmFjdGl2ZSwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6ZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5kaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5kaXNhYmxlZDphZnRlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ2FwOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZ2FwOiAxNXB4OyB9IH1cbiAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzA1cHg7IH0gfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0N2UxNTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFza2V0LXRvdGFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcbiAgICB3aWR0aDogMzEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4jYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiB1bnNldDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2sge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSksIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLmlzLWF0LXRvcCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkLmlzLWF0LXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuOHM7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdG90YWwtdmFsdWUge1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogODsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdmF0LWlucHV0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDk7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNlZGl0LWJhc2tldC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNuZXQtc3VtbWFyeS12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pbnRyby1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0uaGlnaGxpZ2h0ZWQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSB7XG4gICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIC5pbmNWYXQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIC5pbmNWYXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAjYmFza2V0LXN1bW1hcnkgI3RvdGFsLXZhbHVlIC5sYWJlbCwgI2Jhc2tldC1zdW1tYXJ5ICN0b3RhbC12YWx1ZSAudmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lciAjdG90YWwtdmFsdWUgLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgI3RvdGFsLXZhbHVlIC52YWx1ZSB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMHB4IDdweCAwIDA7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6YWZ0ZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6aG92ZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6YWN0aXZlLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjZGVsaXZlcnktc2VsZWN0b3Ige1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4jZGVsaXZlcnktc2VsZWN0b3Igc2VsZWN0LCAjZGVsaXZlcnktc2VsZWN0b3IgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LWxhYmVsIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1zZXJ2aWNlLCAjZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LWFyZWEge1xuICAgIHdpZHRoOiA0MDVweDtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuXG4jZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LXNlcnZpY2UuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLmxpbmstZmFpbGVkLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGluay1mYWlsZWQtY29udGFpbmVyIC5saW5rLWZhaWxlZC1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAubGluay1mYWlsZWQtY29udGFpbmVyIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGDXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gpVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLWNhbGxzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gnlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNoYW5nZS1kZXRhaWxzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCFXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY29udHJhY3QtaXRlbXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi02OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCGXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc2VydmljZS1jb250cmFjdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi03OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGAXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9nczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYVcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5vbmxpbmUtZG9jdW1lbnRhdGlvbjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTEwOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYRcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mYXZvdXJpdGVzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIRcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5sb2dvdXQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gilwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnZpZXctb3JkZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI5cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jaGFuZ2UtcGFzc3dvcmQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gglwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS1jYXJkczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCMXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ucGF5bWVudC1yZXF1ZXN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCmXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZG93bmxvYWQtcHJpY2UtbGlzdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hulwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTIxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCPXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc2l0ZS1saXN0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoL9cIjtcbiAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc3RhdGVtZW50OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIdcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5oaXN0b3JpY2FsLXRyYW5zYWN0aW9uczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCJXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udXBsb2FkLWJhc2tldDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC2XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udXBsb2FkLW9yZGVyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC1XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLXVzZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI1cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5lbXBsb3llZS1zdGF0dXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hi1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGCXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W6XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBCcmFuZHNcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoZJcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKVcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYtcIjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4ubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEge1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbi5jaGFuZ2UtcGFzc3dvcmQsIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24uZnVuY3Rpb24tMTYge1xuICAgICAgICBmb250LXNpemU6IDUuMzMzMzNweDsgfVxuICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDsgfVxuXG4uYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzNXB4IDAgMjBweDsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Uuc2l0ZS1zdHlsZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGEge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAzMHB4O1xuICAgIHBhZGRpbmc6IDE5cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgIGZsZXg6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZTpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xuICBmb250LXNpemU6IDMwcHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTE2IHtcbiAgICBmb250LXNpemU6IDhweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uY2hhbmdlLWRldGFpbHMsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi00IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLm1hbmFnZS1jYXJkcywgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTE3IHtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTkge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMzUge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ubG9nb3V0LCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMjkge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuXG4uYWNjb3VudC1tZW51IC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uYWNjb3VudC1tZW51IGgyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmFjY291bnQtbWVudSBoMiB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAuYWNjb3VudC1wYWdlIHtcbiAgcGFkZGluZzogMCAwIDIwcHg7IH1cbiAgI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMzVweCAyMHB4IDMwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLWRldGFpbHM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udHJhY3QtaXRlbXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmZhdm91cml0ZXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnZpZXctb3JkZXJzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNTVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS1jYXJkczpiZWZvcmUge1xuICBmb250LXNpemU6IDM1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uc3RhdGVtZW50OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5tYW5hZ2UtdXNlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsICNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNjBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi51cGxvYWQtYmFza2V0OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi51cGxvYWQtb3JkZXJzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5sb2dvdXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS1jYWxsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uc2VydmljZS1jb250cmFjdHM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ucGF5bWVudC1yZXF1ZXN0cyB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kb3dubG9hZC1wcmljZS1saXN0cyB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zaXRlLWxpc3Qge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5vbmxpbmUtZG9jdW1lbnRhdGlvbiB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4uYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyAuc29ydC1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAubGFiZWwsIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyAuc29ydC1vcHRpb24gLnBhZ2luYXRpb25MYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjM1cHg7IH0gfVxuICAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lci5jZW50ZXItYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ub3JkZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAub3JkZXItY29udGFpbmVyICsgLnJlc3BvbnNpdmUtdGFicyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRldGFpbHMsIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24gLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5vcmRlci1kZWxpdmVyeSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5vcmRlci1jb250YWluZXIucHJlc2V0LTEgI29yZGVyLXRhYmxlIHtcbiAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5vcmRlci1jb250YWluZXIucHJlc2V0LTEgI29yZGVyLXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogNTE1cHg7IH0gfVxuICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCksIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRoOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmFkZC10by1iYXNrZXQtY29sIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgcCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgd2lkdGg6IDE1NXB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGEge1xuICAgICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMnB4OyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6IHJnYmEoMTQ5LCAxNDksIDE0OSwgMC42KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZy5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgICB3aWR0aDogMTUlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICB3aWR0aDogNSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcmRlcjogNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnJlbW92ZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1pdGVtLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAub3JkZXItY29udGFpbmVyICNiYXNrZXQtc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlci1jb250YWluZXIgI2Jhc2tldC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4ub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDVweCAwO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnksIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLm9yZGVyLWRldGFpbHMuaW5saW5lLCAub3JkZXItZGVsaXZlcnkuaW5saW5lLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDIwcHg7IH1cbiAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0gfVxuICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcywgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcywgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBnYXA6IDVweDsgfVxuICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4sIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3BhbiwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW46bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcsJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm9yZGVyLWRldGFpbHMucGF5ZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LnBheWVyLWRldGFpbHMsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLnBheWVyLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDsgfVxuXG4ub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nLCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIGgzLCAub3JkZXItZGVsaXZlcnktaGVhZGluZyBoMywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLm9yZGVyLWRldGFpbC1oZWFkaW5nIGEuZWRpdCwgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcgYS5lZGl0LCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcgYS5lZGl0IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uZGV0YWlsLWl0ZW0tY29udGFpbmVyLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyOmhhcyg+IHA6ZW1wdHkpLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXI6aGFzKD4gcDplbXB0eSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gc3BhbiB7XG4gICAgICAgIHdpZHRoOiAxNzBweDsgfSB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBwLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHAsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHAge1xuICAgICAgICBmbGV4OiAxOyB9IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciBhLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgYWRkcmVzcywgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIGFkZHJlc3Mge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmcge1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDM1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYwZGQnO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cblxuLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuICAub3JkZXItZGV0YWlscy1jb250YWluZXIgLmdyaWQteCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpOyB9IH1cblxuLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cblxuLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDsgfSB9XG5cbi51c2Vycy1mb3VuZC1jb3VudCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudXNlcnMtZm91bmQtY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC51c2Vycy1mb3VuZC1jb3VudCBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC51c2Vycy1mb3VuZC1jb3VudCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4jdXNlcnMtdGFibGUgdGQge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAjdXNlcnMtdGFibGUgdGQgLmxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3VzZXJzLXRhYmxlIHRkIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4jdXNlcnMtdGFibGUgdGQudXNlcnMtY29udGFjdC1jb2wge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4jdXNlcnMtdGFibGUgLnVzZXJzLWFjY291bnQtY29sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI3VzZXJzLXRhYmxlIC51c2Vycy1hY2NvdW50LWNvbCB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWNvbnRhY3QtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWVtYWlsLWNvbCB7XG4gICAgd2lkdGg6IDMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1kZWxldGUtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI3VzZXJzLXRhYmxlIC51c2Vycy1kZWxldGUtY29sIC5yZW1vdmUtdXNlci1idXR0b24ge1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5yZW1vdmUtdXNlci1idXR0b24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5yZW1vdmUtdXNlci1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgZm9udC1zaXplOiAxLjEzNjM2cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNzsgfVxuXG4ubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMjBweCBhdXRvIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciAucHJpbWFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDIwcHggMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWFuYWdlLXVzZXItYnV0dG9uLWNvbnRhaW5lciAudGVydGlhcnktYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbiNzZWxlY3QtYnJhbmNoZXMtdGFibGUge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5icmFuY2gtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAuYnJhbmNoLWNvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDsgfSB9XG4gICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgdGQuYnJhbmNoLWNvbCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmFsbG93LWxvZ2luLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLXR5cGUtY29sIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtbnVtYmVyLWNvbCB7XG4gICAgd2lkdGg6IDE4MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcbiAgICB3aWR0aDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC1yZW1vdmUtY29sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuI3Rva2Vucy10YWJsZSwgLnRva2Vucy10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICAjdG9rZW5zLXRhYmxlIHRyOmhvdmVyIC5jYXJkLXR5cGU6YmVmb3JlLCAudG9rZW5zLXRhYmxlIHRyOmhvdmVyIC5jYXJkLXR5cGU6YmVmb3JlIHtcbiAgICBjb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICN0b2tlbnMtdGFibGUgdGQsIC50b2tlbnMtdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8sIC50b2tlbnMtdGFibGUgLmNhcmQtc2VsZWN0LWNvbCAucmFkaW8ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLXR5cGUtY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICN0b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgI3Rva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAjdG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLXJlbW92ZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMDBweDsgfSB9XG4gICN0b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQsIC50b2tlbnMtdGFibGUgLnNlbGVjdGVkLWNhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uby10b2tlbnMtZm91bmQge1xuICBtYXJnaW46IDUwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm5vLXRva2Vucy1mb3VuZCB7XG4gICAgICBtYXJnaW46IDEwMHB4IDA7IH0gfVxuICAubm8tdG9rZW5zLWZvdW5kIC5uby10b2tlbnMtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KdXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICBjb2xvcjogI2RhZGFkYTsgfVxuXG4ucGF5bWVudC1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ubW9kYWwtY29udGFpbmVyW3R5cGU9c2VsZWN0LXBheW1lbnRdICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87IH1cbiAgI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0gZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnNhdmUtY2FyZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2F2ZS1jYXJkLWNvbnRhaW5lciAuY29udHJvbC5jaGVja2JveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnNhdmUtY2FyZC1jb250YWluZXIgLmxhYmVsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4jcGF5bWVudC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7IH1cblxuLnN0YXRlbWVudC1saXN0LWNvbnRhaW5lci5pbi1hY3RpdmUsIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lci5pbi1hY3RpdmUsIC5hY2NvdW50LXBheS1jb250YWluZXIuaW4tYWN0aXZlIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHAgc3BhbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7IH1cblxuLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDsgfSB9XG5cbi5zdW1tYXJ5LWNvbnRhaW5lci5zdGF0ZW1lbnQgLnN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyLmFjY291bnQtcGF5bWVudC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcge1xuICBtYXJnaW46IDAgMCA0MHB4OyB9XG5cbi50cmFuc2FjdGlvbi10eXBlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudHJhbnNhY3Rpb24tdHlwZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmRpcmVjdC1kZWJpdC1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZGlyZWN0LWRlYml0LWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGOXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG50YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5icmFuY2gtY29sIHtcbiAgICAgIHdpZHRoOiA2LjIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5uZXh0LWR1ZS1kYXRlLWNvbCB7XG4gICAgICB3aWR0aDogOCU7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC55b3VyLXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuc2t1LXJlZmVyZW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdmFsdWUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtdHlwZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB0ZC5jb250cmFjdC10eXBlLWNvbCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC1ncm91cC1jb2wge1xuICAgICAgd2lkdGg6IDkuOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmZyZXF1ZW5jeS1jb2wge1xuICAgICAgd2lkdGg6IDguNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnBheW1lbnQtbWV0aG9kLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnRlcm1pbmF0aW9uLWRhdGUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuYmFsYW5jZS1jb2wge1xuICAgICAgd2lkdGg6IDclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5yZW5ld2FsLWNvbCB7XG4gICAgICB3aWR0aDogNS41JTsgfSB9XG4gIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50dWJzLXJlbmV3LWJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAudHVicy1yZW5ldy1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTVweCAzNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuaXRlbS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuaXRlbS1jb2wge1xuICAgIHdpZHRoOiA1JTsgfSB9XG5cbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxNCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuZGVzY3JpcHRpb24tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDIzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIHRoLmRlc2NyaXB0aW9uLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHRoLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmludm9pY2VzLWNvbCwgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5kZWxpdmVyaWVzLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5pbnZvaWNlcy1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuZGVsaXZlcmllcy1jb2wge1xuICAgIHdpZHRoOiAxMiU7IH0gfVxuXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgdWwsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5pdGVtLWNvbCB7XG4gICAgd2lkdGg6IDYuOTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5xdWFudGl0eS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDI3JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5vdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAueW91ci1yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5jb250cmFjdHMtdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLmNvbnRyYWN0cy10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxudGFibGUuY29udHJhY3RzLXRhYmxlIHRkLmRlc2NyaXB0aW9uLWNvbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC50eXBlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnZhbHVlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5zdGF0dXMtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuZGF0ZS1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmFjdGl2ZSwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnBheS1jb2wge1xuICAgIHdpZHRoOiA2LjIlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAudGltZS1jb2wge1xuICAgIHdpZHRoOiA4LjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTguMSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmFtb3VudC1jb2wge1xuICAgIHdpZHRoOiAxMC44JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4uc2l0ZS1saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6goVwiO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ28ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ286aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDEgLyAxOyB9XG4gICAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLnN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICMxMjgxMWY7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5mYWlsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgapcIjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy51bmtub3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuY2FuY2VsbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qNXCI7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuaW4tcHJvZ3Jlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBhbmltYXRpb246IHNwaW5uZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUucHVibGlzaC1oaXN0b3J5IC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGJvZHkgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkLnNpdGUtbG9nby1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCAuY29sLWxhYmVsIHtcbiAgd2lkdGg6IDQwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ZCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0aC5zaXRlLWxvZ28tY29sIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdHIuc3RhZ2luZy1zaXRlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCB7XG4gICAgd2lkdGg6IDExMnB4O1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICBoZWlnaHQ6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIC5pbWFnZSwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28gYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIGhyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDEwcHggMCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBociB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZW52aXJvbm1lbnQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZW52aXJvbm1lbnQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRoLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24sIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGljZW5zZS1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAucHVibGlzaGluZy1jb2wge1xuICAgIHdpZHRoOiAxMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zdGFydGVkLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5lbmRlZC1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGFzdC10b3VjaC1jb2wge1xuICAgIHdpZHRoOiAxNDVweDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGJ1dHRvbiwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NHB4OyB9XG5cbi5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lci5zdGFnaW5nLXNpdGUgLnNpdGUtbG9nbyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2Uge1xuICAgICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2UsIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgaHIge1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiA+IHNwYW4ge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiArIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiwgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA3NHB4OyB9XG5cbi8qXHJcbi0tLS0tIENNUyBTdHlsaW5nIC0tLS0tLSBcclxuLSBTdHlsZSBmb3IgdGhlIGFjdHVhbCBjbXMgcGFnZXMgdGhlbXNlbHZlczpcclxuICAtIENNUyBFbnRyeVxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBDTVMgU2VyaWVzXHJcbi0gQ01TIGVudHJ5IGNvbnRyb2xzXHJcbi0gQ01TIG1vZHVsZVxyXG4tIENNUyBjb250ZW50IGNvbnRhaW5lciwgdGhpcyBnZXQgdXNlZCB0aHJvdWdob3V0IGV4cHJlc3MgZm9yIHZhcmlvdXMgcGllY2VzIG9mIGNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGluIHRoZSB2bWFkbWluJ3MgY21zIHN5c3RlbSB0aGVzZSBibG9jayBvZiBjb250ZW50IGNhbiBsaXRlcmFsbHkgYmUgYW55d2hlcmUgKCBoZWFkaW5ncyBmb3IgcGFnZXMsIGluIHRoZSBmb290ZXIsIGFqYXggcmVzcG9uc2VzICkuXHJcbiovXG4uZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW46IDE1cHggYXV0byAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy1pbnRyby5jbXMtY29udGVudC1jb250YWluZXIgcCwgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0LmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzdiN2I3YjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLWludHJvIHAsIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzdiN2I3YjsgfVxuXG4uZGlzcGxheS1jbXMtc2VyaWVzIHtcbiAgbWFyZ2luOiAyNXB4IDAgMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIGE6aG92ZXIgaDMsIC5kaXNwbGF5LWNtcy1zZXJpZXMgYTpob3ZlciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0RCNjUxQik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5lbnRyeS1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzIC5lbnRyeS1jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmV2ZW50cyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZXZlbnRzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNlbGwge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcyAuY2VsbDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNlbGwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDA7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jZWxsIGEge1xuICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY2VsbCBhIHtcbiAgICAgICAgcGFkZGluZzogNDVweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1iYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1jb250YWluZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIHtcbiAgICBoZWlnaHQ6IDUzMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuYmxvZyAuY2VsbCAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxNzBweDsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwge1xuICAgICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDQ1cHg7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICBoZWlnaHQ6IDIwMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgICAgICAgIGhlaWdodDogNzVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNlbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAucHVibGlzaC1kYXRlIHtcbiAgICBtYXJnaW46IDAgMCAxN3B4OyB9XG5cbi5wdWJsaXNoLWRhdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5yZWFkLW1vcmUtYW5jaG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5yZWFkLW1vcmUtYW5jaG9yIHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH0gfVxuICAucmVhZC1tb3JlLWFuY2hvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDI1cHggMzBweCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDExMHB4IDcwcHg7IH0gfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5uZXdzLWFydGljbGUgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvh6pcIjsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5ldmVudCAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bs1wiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmJsb2ctcG9zdCAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+ChlwiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIuaW5mb3JtYXRpb24uc3R5bGUtMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDIuODc1cmVtO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgb3BhY2l0eTogMC4zOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxIDFweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMSB7XG4gICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDM6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDUge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDU6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNiB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDIsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMywgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDMge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNiwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDYge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkuY2VsbC1ndXR0ZXJzIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgPiBpbWcge1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSBhIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIHRoLCB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0gZmllbGRzZXQgaDIge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmJhY2tncm91bmQtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuYmFja2dyb3VuZC1zZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmZpcnN0LWNoaWxkKSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDc4JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLnB1Ymxpc2gtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAudGFnZ2luZy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtY29udGVudC1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSksIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5jbXMtZW50cnktbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogNDBweCAwIDMwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJ5LW5hdmlnYXRpb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jbXMtZW50cnktbmF2aWdhdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLmxhYmVsLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbiwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b24ge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICM3YThlNTI7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246Zmlyc3Qtb2YtdHlwZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmhvdmVyLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3gtc2hhZG93OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmFjdGl2ZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5wcmV2aW91cy1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bk1wiOyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5uZXh0LWNtcy1lbnRyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GUXCI7IH1cblxuLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4IDA7XG4gIG1hcmdpbjogMTVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEwcHggMzBweDtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7IH0gfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDE1cHggMTVweCk7XG4gICAgY29sb3I6ICM3YThlNTI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlcjpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmFjdGl2ZTpiZWZvcmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5kaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnlbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkOmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GTXCI7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjN2E4ZTUyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxNXB4IDE1cHgpO1xuICAgIGNvbG9yOiAjN2E4ZTUyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpob3ZlcjphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFjdGl2ZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTphY3RpdmU6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6ZGlzYWJsZWQ6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmRpc2FibGVkOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeVtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmRpc2FibGVkOmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgY29sb3I6ICM3YThlNTI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAyMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIsIC5jbXMtZW50cnktYmFjay1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2VkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjphY3RpdmUsIC5jbXMtZW50cnktYmFjay1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnNpdGUtbWFwIHtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuICAuc2l0ZS1tYXAgPiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2l0ZS1tYXAgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOm9ubHktY2hpbGQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGk6aG92ZXIgYTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5zaXRlLW1hcCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IGEsIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBhOmJlZm9yZSwgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDM1cHggMCAyNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgLmNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDdweCAwOyB9XG4gICAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCAuY2hpbGQgPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuc2l0ZS1tYXAgLnBhcmVudCBhOmhvdmVyLCAuc2l0ZS1tYXAgdWwgLmNoaWxkID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2l0ZS1tYXAgLnBhcmVudCBhOmFjdGl2ZSwgLnNpdGUtbWFwIHVsIC5jaGlsZCA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzkzYjY0ZDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzVGN0IyNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjREI2NTFCO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM5M2I2NGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyLCAuYmFjay10by1pbmZvcm1hdGlvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZWQ7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJhY2stdG8taW5mb3JtYXRpb246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhY2stdG8taW5mb3JtYXRpb24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uOmFjdGl2ZSwgLmJhY2stdG8taW5mb3JtYXRpb24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZCwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQsIC5iYWNrLXRvLWluZm9ybWF0aW9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZDpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMnB4IDAgNDFweDsgfVxuICAuY21zLWNvbnRhaW5lciBwIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5kaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBkaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDEge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzVGN0IyNztcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICNEQjY1MUI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDU6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDI1cHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jbXMtY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMywgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNiwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3Mge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyBoMiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIC5hbW91bnQtcGFpZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IGgyIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCBwIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IC5hbW91bnQtcGFpZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmNlbnRlci1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3Ige1xuICBjb2xvcjogI2IyMGMwYzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGgyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGgzLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGg0LCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGg1IHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmd1dHRlci15IHtcbiAgbWFyZ2luOiAxMnB4IDAgNDFweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLnBhZ2UtaGVhZGluZy1jb250ZW50IHtcbiAgcGFkZGluZzogMCAwIDE1cHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5uby1zaWRlLXBhZGRpbmcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lIHtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmEge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkpOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGFbY2xhc3MqPVwiLWJ1dHRvblwiXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgdGFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3B1cE92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDAwMDsgfVxuICAjcG9wdXBPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7IH1cblxuI3BvcHVwQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjcG9wdXBDb250YWluZXIge1xuICAgICAgd2lkdGg6IDg0MHB4OyB9IH1cbiAgI3BvcHVwQ29udGFpbmVyLnN0YW5kYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCAuY29udGVudENvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNwb3B1cENvbnRhaW5lciBsZWdlbmQge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfVxuICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3BvcHVwQ29udGFpbmVyIGZvcm0ge1xuICAgICAgICB3aWR0aDogNzQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICBwYWRkaW5nOiAxM3B4IDEwcHg7IH1cbiAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICNwb3B1cENvbnRhaW5lciAucG9wdXBCdXR0b25Db250YWluZXIgLnBvcHVwQ2xvc2VCdXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NoZWNrb3V0Rm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbiNjaGVja291dEZvcm0gLmNoYW5nZURldGFpbHMge1xuICBtYXJnaW46IDVweCAwIDE1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQwLCAxNDIsIDEzOCwgMC4yKTsgfVxuXG4jY2hlY2tvdXRGb3JtIC5jaGVja291dC1kZXRhaWxzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4jY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAzNXB4OyB9XG4gICNjaGVja291dEZvcm0gI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuXG4jY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciB7XG4gIG1hcmdpbjogNzVweCAwIDA7IH1cbiAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyICNjaGVja291dFN1Ym1pdEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk1LCAxMjMsIDM5LCAwLjUpO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyICNjaGVja291dFN1Ym1pdEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cblxuI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciBoMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDcwLjRweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjRmZic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciBidXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNSk7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNUY3QjI3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NSwgMTIzLCAzOSwgMC41KTtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0Nsb3NlOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzVGN0IyNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNSk7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0Nsb3NlOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuXG4jY2hhbmdlRGV0YWlscy5zdWNjZXNzIGgyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjZlZTsgfVxuXG4jYWNjb3VudFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiN0ZXJtcyB7XG4gIG1hcmdpbjogNTBweCAwIDA7IH1cblxuI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogNTAwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG4jZGVsaXZlcnlDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2RlbGl2ZXJ5VXBncmFkZUNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi52YWxpZGF0aW9uRXJyb3Ige1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5kZWxpdmVyeS1vcHRpb24ge1xuICB3aWR0aDogMjYwcHggIWltcG9ydGFudDsgfVxuXG4uY2hlY2tvdXQtY29tcGxldGUtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbiNiaWxsUG9zdGNvZGVMb29rdXBBZGRyZXNzQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmVkaXQuY2hlY2tvdXRQb3B1cExpbmsge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciBwLCAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciBoMiB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lcjpob3ZlciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyOmhvdmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpub3QoOmhvdmVyKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgICAgIG1hcmdpbjogYXV0byAyNXB4IDAgMDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI2I0YzE3ZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfSB9XG5cbi5lcnJvckNvbnRhaW5lci5wb3N0Y29kZUxvb2t1cFNlbGVjdENvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZGVsaXZlcnktcmVhZC1vbmx5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXHJcbi0tLS0tIDQwNCAtLS0tLS0gXHJcbi0gQXJlIHlvdSBsb3N0PyBcclxuKi9cbi5lcnJvci1ub3QtZm91bmQtbG9nbyB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNTIuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTA1cHg7IH0gfVxuXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzQwNC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDkwcHggMzBweDsgfVxuXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDkwdnc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogODAwcHg7IH0gfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogNjIuNXB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDEyNXB4IDAgMDsgfSB9XG5cbi8qXHJcbi0tLS0tIExpZ2h0IGJveCAgLS0tLS1cclxuLSBUaGlzIGdldCBkaXNwbGF5ZWQgb24gcHJvZHVjdCBwYWdlcyB0byBkaXNwbGF5IHRoZSBmdWxsIHJlc29sdXRpb24gcHJvZHVjdCBpbWFnZXMuXHJcbkZ1bnRpb25hbGl0eSB0aGlzIGhvbGRzOlxyXG4tIExpZ2h0IGJveCBhY3RpdmUgLyBpbmFjdGl2ZSBzdGF0ZXMuXHJcbi0gVGhlIG92ZXJsYXkgc3R5bGVzLlxyXG4tIEFkZGl0aW9uYWwgSW1hZ2VzLlxyXG4tIDM2MCBpbWFnZSBzdXBwb3J0LlxyXG4tIFRoZSBoZWFkZXIgdGhhdCBnZXRzIGdlbmVyYXRlZC5cclxuLSBWaWRlbyBwbGF5ZXIuXHJcbiovXG4jbGlnaHRib3gtb3ZlcmxheS5hY3RpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDAuNztcbiAgei1pbmRleDogMTAwMDA7IH1cblxuLmxpZ2h0Ym94IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAubGlnaHRib3guYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmxpZ2h0Ym94LmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI2xpZ2h0Ym94LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNiNjRkO1xuICB6LWluZGV4OiA1MDAwOyB9XG4gICNsaWdodGJveC1oZWFkZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY291bnQge1xuICAgIG9yZGVyOiAxO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiA3cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY291bnQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcbiAgICBvcmRlcjogNDsgfVxuXG4jbGlnaHRib3gtY29udGVudC1vdXRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDA7IH1cblxuI2xpZ2h0Ym94LWNvbnRlbnQtaW5uZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnJlZWwtb3ZlcmxheSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaW1hZ2UubGlnaHRib3gtZW5hYmxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+MnlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDIycHg7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5pbWFnZS5saWdodGJveC1lbmFibGVkOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjREI2NTFCO1xuICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cblxuLmxpZ2h0Ym94ICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG8gMTVweDsgfVxuXG4ubGlnaHRib3ggLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5saWdodGJveCAucmVlbC1vdmVybGF5IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4ubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1saWdodGJveC1oZWFkZXItaGVpZ2h0KSAtIDEwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgICAgIGFsaWduLXNlbGY6IGF1dG87XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMDBweCk7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlIHtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogODV2aDsgfSB9XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlLmlzLXZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZS5pcy12aWRlbyB7XG4gICAgICAgICAgICB3aWR0aDogNjB2dzsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlIGltZywgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlICNsaWdodGJveC12aWRlby1wbGF5ZXIge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYsXG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNzBweDsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2OmJlZm9yZSxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUsXG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LmRpc2FibGVkLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dC5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYge1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggMnB4IDJweCAwOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bk1wiOyB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG4gICAgYm9yZGVyLXdpZHRoOiAycHggMCAycHggMnB4OyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BlFwiOyB9XG5cbi5saWdodGJveCAuc2xpZGVzQ29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogLTIwcHggNnB4IDYwcHggLTEzcHggIzAwMDAwMDsgfVxuXG4ubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCBsaSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCBsaS5hY3RpdmUgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC15IHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgLnBzX19yYWlsLXkgLnBzX190aHVtYi15IHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NSwgMTIzLCAzOSwgMC43KTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpIHtcbiAgICAgICAgICBmbGV4OiBpbmhlcml0OyB9IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIC5wc19fcmFpbC14IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXggLnBzX190aHVtYi14IHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNyk7IH1cblxuLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtIHtcbiAgICAgIHdpZHRoOiAxNzBweDsgfSB9XG4gIC5saWdodGJveC1wYWdlci1pdGVtIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5saWdodGJveC1wYWdlci1pdGVtIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMjV2dztcbiAgICAgICAgbWF4LWhlaWdodDogMjB2aDsgfSB9XG4gIC5saWdodGJveC1wYWdlci1pdGVtLmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbS5pcy12aWRlbyB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIGltZyB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAyMHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1heC13aWR0aDogNTVweDtcbiAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8zZGljb24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjIpOyB9XG5cbi5saWdodGJveC1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3NCwgMTc0LCAxNzQsIDAuMyk7IH1cblxuI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTsgfVxuXG4vKlxyXG4tLS0tLSBNYWduaWZpZXIgLS0tLS0gXHJcblRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgb24gdGhlIHByb2R1Y3QgcGFnZSB3aGVuIHlvdSBob3ZlciBvdmVyIHRoZSBtYWluIGltYWdlLlxyXG4qL1xuLmltZy1tYWduaWZpZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5pbWctbWFnbmlmaWVyLWdsYXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgY3Vyc29yOiBjcm9zc2hhaXI7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLm1hZ25pZmljYXRpb24tY29udGFpbmVyLmltYWdlOmhvdmVyOmJlZm9yZSB7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDsgfVxuXG4uaW1hZ2UtbWFnbmlmaWNhdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24uYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5pbWFnZS1tYWduaWZpY2F0aW9uIC5tYWduaWZ5aW5nLWdsYXNzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgei1pbmRleDogMTtcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzVGN0IyNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2w6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuZGUtaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AkFwiOyB9XG4gICAgLm1hZ25pZmllci1jb250cm9scy1jb250YWluZXIgLm1hZ25pZmllci1jb250cm9sLmluY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI5cIjsgfVxuXG4vKlxyXG4tLS0tLSBieFNsaWRlciAoIENhcm91c2VscyApIC0tLS0tLSBcclxuLSBodHRwczovL2J4c2xpZGVyLmNvbS9cclxuLSBUaGlzIGhhbmRsZXMgYWxsIHRoZSBkaXNwbGF5IHN0eWxlcyBmb3IgY2Fyb3VzZWxzIC8gc2xpZGVzaG93cyBhcm91bmQgZXhwcmVzcyB0aGlzIGNhbiBiZSBpbiBhIG1vZHVsZSBvciBhZGRpdGlvbmFsIGltYWdlcyBvbiB0aGUgcHJvZHVjdCBwYWdlLCB0aGUgY29udGVudCBpcyBub3QgcmVzdHJpY3RlZCB0byBqdXN0IGltYWdlcyBidXQgY2FuIGV4dGVuZCB0byBkaXNwbGF5IHByb2R1Y3QgLyBlYmcncy4gXHJcbiovXG4uY2Fyb3VzZWwge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtLW1vZHVsZS1ndXR0ZXI6IDEwcHg7IH1cbiAgLmNhcm91c2VsLmJ4LXVuZGVybGluZSAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLmNhcm91c2VsLmJ4LXVuZGVybGluZSAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuY2Fyb3VzZWwuYngtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1ob3Jpem9udGFsIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b25hbCAuYngtdmlld3BvcnQsIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtZmFkZSAuYngtdmlld3BvcnQge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy14OiBjbGlwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2Fyb3VzZWwge1xuICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAxNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNjAlIC0gMTBweCkgY2FsYyg0MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQge1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAucHJpY2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGdhcDogMTBweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg0MCUgLSAxMHB4KSBjYWxjKDYwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBwLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBvcmRlcjogMTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1ib3R0b20gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5pbWFnZSB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5pbWFnZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlLWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uOm5vdCg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24ge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlIGltZywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSBpbWcsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSBpbWcge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNUY3QjI3KTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICBjb2xvcjogI0RCNjUxQjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZGVzY3JpcHRpb24gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucmVhZC1tb3JlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5zcGVjaWZpY2F0aW9uIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29kZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgcCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlIC5jdXJyZW5jeSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSAuY3VycmVuY3ksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSAuY3VycmVuY3kge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuW2RhdGEtYnhTbGlkZXJdIC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAudmF0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gZm9ybSwgW2RhdGEtYnhTbGlkZXJdIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmFkZFRvQmFza2V0Lmljb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuYWRkVG9CYXNrZXQuaWNvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24ge1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5mYXZvdXJpdGVzQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCB7XG4gIG1heC13aWR0aDogODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgIHdpZHRoOiA4MHB4OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5ieC1zZXBlcmF0b3IgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV0gKyAuY29sbGVjdGlvbi1pdGVtOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgei1pbmRleDogMTsgfVxuICAuYngtdmlld3BvcnQgPiBkaXYge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5baWQkPVwiLWNhcm91c2VsLWNvbnRhaW5lclwiXSB7XG4gIGZsZXg6IDE7IH1cblxuLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDMwcHg7IH1cbiAgLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9sczpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LXByZXYge1xuICAgIHJpZ2h0OiAzNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9sczpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LW5leHQge1xuICAgIGxlZnQ6IDM2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9scy5sYXJnZUNvbnRyb2xzIC5ieC1wcmV2IHtcbiAgICByaWdodDogMzcuNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmNhcm91c2VsOm5vdCguY29udHJvbHMtY29udGFpbmVkKSAuYngtY29udHJvbHMubGFyZ2VDb250cm9scyAuYngtbmV4dCB7XG4gICAgbGVmdDogMzcuNXB4OyB9IH1cblxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICAgIGhlaWdodDogNzVweDsgfSB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IDc1cHg7IH0gfVxuXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyM2RlZyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQzZGVnKTsgfSB9XG5cbi5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIG9wYWNpdHkgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNzsgfVxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uYngtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bk1wiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYngtY29udHJvbHMuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlLFxuICAgIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSxcbi5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzVGN0IyNztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSxcbi5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgY29sb3I6ICM1RjdCMjc7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZNcIjsgfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZRcIjsgfVxuXG4uYngtcHJldiwgLmJ4LW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ4LXByZXYge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYngtcHJldiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmJ4LW5leHQge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYngtbmV4dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjFcIl0ge1xuICAtLWNvbHVtbnM6IDE7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjJcIl0ge1xuICAtLWNvbHVtbnM6IDI7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjNcIl0ge1xuICAtLWNvbHVtbnM6IDM7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0ge1xuICAtLWNvbHVtbnM6IDQ7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjVcIl0ge1xuICAtLWNvbHVtbnM6IDU7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjZcIl0ge1xuICAtLWNvbHVtbnM6IDY7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjdcIl0ge1xuICAtLWNvbHVtbnM6IDc7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjhcIl0ge1xuICAtLWNvbHVtbnM6IDg7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjlcIl0ge1xuICAtLWNvbHVtbnM6IDk7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjEwXCJdIHtcbiAgLS1jb2x1bW5zOiAxMDsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTFcIl0ge1xuICAtLWNvbHVtbnM6IDExOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMlwiXSB7XG4gIC0tY29sdW1uczogMTI7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLS1zbWFsbC1jb2x1bW5zOiBtYXgocm91bmQoZG93biwgY2FsYyh2YXIoLS1jb2x1bW5zKSAvIDIpLCAxKSwgMSk7XG4gIC0tbWVkaXVtLWNvbHVtbnM6IGNhbGModmFyKC0tc21hbGwtY29sdW1ucykgKyAxKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tc21hbGwtY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxMHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1tZWRpdW0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTVweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pID4gKiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMTQ5LCAxNDksIDE0OSwgMC4yKTtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzk1OTU5NTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDBzO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjdzIGN1YmljLWJlemllcigwLjU2LCAwLjExLCAwLjIyLCAwLjg2NSkgMHMgaW5maW5pdGU7XG4gICAgei1pbmRleDogMTsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH0gfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkgLmNvbGxlY3Rpb24taXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYngtdmlld3BvcnQge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG5cbi5jYXJvdXNlbCAuYngtdmlld3BvcnQgLmNvbGxlY3Rpb24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYngtcGFnZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMi41cHg7XG4gICAgaGVpZ2h0OiAyMi41cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4OyB9IH1cbiAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4vKlxyXG4tLS0tLSBTbGlkZXJzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVGhpcyBpcyAqTk9UKiBjYXJvdXNlbCBmdW5jdGlvbmFsaXR5IHBsZWFzZSByZWZlciB0byBieHNsaWRlci5zY3NzIGZvciB0aGF0LlxyXG4tIFRoaXMgaXMgZm9ybSBmb3JtIGNvbnRyb2xzIHdoZXJlIHlvdSByZXF1aXJlIGFuIGlucHV0IHR5cGUgPSBzbGlkZXIuXHJcbi0gVGhlIHN0bHllcyBoZXJlIHdpbGwgYWxzbyBoYXZlIGEgaGVhdnkgaW5mbHVlbmNlIG9uIHRoZSBwcmljZSBzbGlkZXIgZm9yIGZpbHRlcnMuXHJcbiovXG4uc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAuc2xpZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5zbGlkZXI6aG92ZXIgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEyMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuc2xpZGVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWRlcjphY3RpdmUgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gIC5zbGlkZXIuc2xpZGVyLWludmFsaWQgLnVpLXNsaWRlci1oYW5kbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC51aS1zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4udWktc3RhdGUtYWN0aXZlIHtcbiAgb3V0bGluZTogMDsgfVxuXG4udWktc2xpZGVyLXJhbmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbiAgei1pbmRleDogMTsgfVxuICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTViNzAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWluOmJlZm9yZSB7XG4gICAgbGVmdDogLTFweDsgfVxuICAudWktc2xpZGVyLXJhbmdlLnVpLXNsaWRlci1yYW5nZS1tYXg6YmVmb3JlIHtcbiAgICByaWdodDogLTFweDsgfVxuICAudWktc2xpZGVyLXJhbmdlLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zbGlkZXItZXJyb3JzIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDI1cHggM3B4IDVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGNvbG9yOiAjYjIwYzBjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAuc2xpZGVyLWVycm9ycy5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG5cbltkYXRhLXRvb2x0aXBdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG5zcGFuLnRvb2x0aXAtdHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBoZWxwO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhKlcIjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6aG92ZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjphY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50b29sdGlwLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciBwLCAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZjVlMDU7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICNmZjVlMDU7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgapcIjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgY29sb3I6ICNiMjBjMGM7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SRXCI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA4cHgpOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogOHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiA4cHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IHVuc2V0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDhweCk7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjREI2NTFCO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTlweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi50b29sdGlwLWNvbnRlbnQge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogMzAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogOXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0RCNjUxQjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBsaSwgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBhLCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBsaSBwIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLypcclxuLS0tLS0gUmVhZCBtb3JlIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUmV2ZWFsaW5nIGFkZGl0aW9uYWwgbWFya3VwLCB0aGlzIGNhbiBpbmNsdWRlIHRleHQgb3IgaW1hZ2VzLlxyXG4tIEhvdyB0aGUgZmFkZSAvIGdyYWRpYW50IGdldHMgdXNlZCB3aGVuIGN1dHRpbmcgb2YgdGhlIG92ZXJmbG93aW5nIGNvbnRlbnQuXHJcbiovXG4ucmVhZC1tb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZWFkLW1vcmUuY29udGFpbmVyLWNhbGN1bGF0aW9uLXdhaXRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlYWQtbW9yZS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC42czsgfVxuICAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZE1vcmVCdXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucmVhZC1tb3JlLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucmVhZC1tb3JlLm1vYmlsZS1vbmx5IC5yZWFkTW9yZUJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cbiAgLnJlYWQtbW9yZSAucmVhZE1vcmVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAyNHB4O1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLnJlYWQtbW9yZSAucmVhZE1vcmVCdXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgMHB4LCAjMDAwMDAwIDUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgICBtYXNrLWltYWdlOiB1bnNldDsgfSB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgbWFzay1pbWFnZTogdW5zZXQ7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQgPiBwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCArIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlYWQtbW9yZTpub3QoW3JtLWlkXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMTEwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyA+IHVsIHtcbiAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA2JTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM1RjdCMjc7XG4gICAgICB6LWluZGV4OiA1MDAwMDsgfSB9XG5cbi5hYy1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYWMtcmVzdWx0cyB7XG4gICAgICB6LWluZGV4OiAyMDAwMDE7IH0gfVxuICAuYWMtcmVzdWx0cy5zY3JvbGxlciA+IHVsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuYWMtcmVzdWx0cyA+IHVsLCAuYWMtcmVzdWx0cyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLmFjLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGw6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uYWMtdGl0bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDAgMTVweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5hYy1pdGVtLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYWMtaXRlbS1saXN0LmNvbHVtbiAuYWMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjLWl0ZW0tbGlzdC5jb2x1bW4gLmFjLWl0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgNTAlOyB9IH1cbiAgLmFjLWl0ZW0tbGlzdDpub3QoLmNvbHVtbikgLmFjLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtLWxpc3Qucm93IC5hYy1pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5hYy1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIC5hYy1pdGVtOmhvdmVyIGEgc3BhbiB7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYWMtaXRlbSAuaW1hZ2UsIC5hYy1pdGVtIC5hYy1pdGVtLW11bHRpbWVkaWEtY29udGVudCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5hYy1pdGVtIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAwOyB9XG4gICAgLmFjLWl0ZW0gYSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjLWl0ZW0gLmFjLWl0ZW0tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7IH1cbiAgLmFjLWl0ZW0gLml0ZW0tcmVmZXJlbmNlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5hYy1pdGVtIC5pdGVtLXNuaXBwZXQge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2gge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIuYWN0aXZlIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogOTAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lci5hY3RpdmUgLmFjLXJlc3VsdHMge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTsgfSB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIC5hYy1pdGVtLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5zYSB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cbiAgLnNhLXdhcm5pbmcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmNWUwNTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IHNjYWxlV2FybmluZyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZzphZnRlciwgLnNhLXdhcm5pbmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuc2Etd2FybmluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5zYS13YXJuaW5nOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zYS13YXJuaW5nLWJvZHkge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZy1kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAuc2EtZXJyb3Ige1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2IyMGMwYztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gLjVzOyB9XG4gICAgLnNhLWVycm9yOmFmdGVyLCAuc2EtZXJyb3I6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNhLWVycm9yOmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDAgMCA0MHB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB0b3A6IC0xN3B4O1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5zYS1lcnJvcjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgdG9wOiAtMTFweDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47IH1cbiAgICAuc2EtZXJyb3IteCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2EtZXJyb3ItcGxhY2Vob2xkZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBsZWZ0OiAtNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnNhLWVycm9yLWZpeCB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuc2EtZXJyb3ItbGVmdCwgLnNhLWVycm9yLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgIHRvcDogMzdweDtcbiAgICAgIHdpZHRoOiA0N3B4OyB9XG4gICAgLnNhLWVycm9yLWxlZnQge1xuICAgICAgbGVmdDogMTdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhMZWZ0IC43NXM7IH1cbiAgICAuc2EtZXJyb3ItcmlnaHQge1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWFJpZ2h0IC43NXM7IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlLFxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMDAlLFxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYTGVmdCB7XG4gIDAlLFxuICA2NSUge1xuICAgIGxlZnQ6IDgycHg7XG4gICAgdG9wOiA5NXB4O1xuICAgIHdpZHRoOiAwOyB9XG4gIDg0JSB7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMTdweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgd2lkdGg6IDQ3cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYUmlnaHQge1xuICAwJSxcbiAgNjUlIHtcbiAgICByaWdodDogODJweDtcbiAgICB0b3A6IDk1cHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgODQlIHtcbiAgICByaWdodDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiAzN3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZVdhcm5pbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZ0lucyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH0gfVxuXG4uY2hlY2tfbWFyayB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cblxuLnNhLWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjMTI4MTFmO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogIzEyODExZjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUsXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogLTMzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgdG9wOiAtMTFweDtcbiAgbGVmdDogMzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtcGxhY2Vob2xkZXIge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC00cHg7XG4gIHRvcDogLTRweDtcbiAgei1pbmRleDogMjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1maXgge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjhweDtcbiAgdG9wOiA4cHg7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7IH1cblxuLmFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1czsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xuICB3aWR0aDogMjVweDtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA0NnB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gIHdpZHRoOiA0N3B4O1xuICByaWdodDogOHB4O1xuICB0b3A6IDM4cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG4vKlxyXG4tLS0tLSBOb3RpZmljYXRpb25zICggQ2FsbG91dHMgKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIE9uIHBhZ2Ugbm90aWNhdGlvbnMgKCBubyBpdGVtcyBmb3VuZCApIFxyXG4tIEhlYWRlciBub3RpZmljYXRpb25zLlxyXG4tIENvb2tpZSBub3RpZmljYXRpb24uXHJcbi0gQ2FsbG91dHMgKCB0aGluZ3MgdGhhdCBzbGlkZSBvdXQgZnJvbSB0aGUgZWRnZWQgb2YgYSB3aW5kb3cgKSBcclxuLSBObyBKYXZhc2NyaXB0IG5vdGlmaWNhdGlvblxyXG4tIEJyb3dzZXIgY29tcGF0aWJsaXR5IG5vdGlmaWNhdGlvbiBcclxuXHJcbiovXG4uaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBoNSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgaDU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbi5jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5hbGVydCBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC53YXJuaW5nIGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbFcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLnN1Y2Nlc3MgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jYWxsb3V0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2FsbG91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5OTk5OTk5OTk7IH1cbiAgLmNhbGxvdXQtY29udGFpbmVyLnNpZGUgLmNhbGxvdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzEyODExZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2IyMGMwYztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IGg1IHtcbiAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCBoNSBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b24ge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbjpiZWZvcmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm9uLXBhZ2Utbm90aWZpY2F0aW9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTEge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnByZXNldC0zIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBwLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDUsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb24gcCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIHRhYmxlLCAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmJlZm9yZSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwidGVsOlwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuXG4ubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg1LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBwLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBwLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cblxuLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgxLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg0LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIHAsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjdweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4jbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBwIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMSwgMSwgMC45KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHotaW5kZXg6IDE7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDEwMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cblxuLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAyMDAwOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDNzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4OyB9IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IGF1dG8gMTJweCBhdXRvIDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24taWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAxMHB4IGF1dG8gMDsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIGltZyB7XG4gICAgICB3aWR0aDogNDBweDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWJhc2lzOiAxODBweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDE3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMnMsIG1heC1oZWlnaHQgMC44czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAwLjZzLCBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDEge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDE6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMiB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgzIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0IHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDQ6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNSB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDU6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNiB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCArIHAge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIHVsIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGxpIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgxLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMiwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDMsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg0LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDYsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBkbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB7XG4gICAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGgge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6YWN0aXZlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIucHdhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGM4ZThhOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvb2tpZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpOyB9XG5cbi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cbiNzcGVjaWFsLW9mZmVycyAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNmZWF0dXJlZC1pdGVtcyAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2Jlc3Qtc2VsbGVycyAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbWFnZTpob3ZlciAub3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAgIC5pbWFnZSBpbWdbc3JjJD1cIi5zdmdcIl0sIC5pbWFnZSBpbWdbc3JjJD1cIi5TVkdcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2UgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5iZXN0U2VsbGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suY29udHJhY3QtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nXCIpOyB9XG5cbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDdweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXIgLmRpc3BsYXktbGFiZWwge1xuICBtYXJnaW46IDAgNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSArIC5kaXNwbGF5LWxhYmVsLCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCArIC5kaXNwbGF5LWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5kaXNwbGF5LWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogI0RCNjUxQjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24taW5hY3RpdmUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIuY291bnRkb3duLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1czsgfVxuXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXG4vKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cbi5wYXltZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGFkYWRhO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Q6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZCBpZnJhbWUjb3BheW8taWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAyN3JlbTtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDM5MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmxhcmdlIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIGhlaWdodDogNjAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5leHRyYS1sYXJnZSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcjpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvY2FyZC1wYXltZW50LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5wYXlwYWwgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuZ29vZ2xlLXBheSAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZ29vZ2xlLXBheS5zdmdcIik7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvYXBwbHktcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudC5vcGF5byB7XG4gICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgLS1jb250YWluZXItZm9udC1zaXplOiAxcmVtO1xuICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveC5jaGVja2JveCAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmNvbnRyb2wuY2hlY2tib3ggLmxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyICsgLnBheW1lbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg0NDBweCArIDIwcHgpOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG5cbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzVGN0IyNzsgfVxuXG4uc29jaWFsLWljb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5wcm9kdWN0LCAuc29jaWFsLWljb25zLm1vZHVsZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5zb2NpYWwtaWNvbnMucmV2aWV3IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4OyB9XG4gIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7IH0gfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgY29sb3I6ICM3YThlNTI7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5zb2NpYWwtaWNvbnMtaGVhZGluZyBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYSB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5zb2NpYWwtaWNvbnMgYSB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyAsIG9wYWNpdHkgMC44czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzICwgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuc29jaWFsLWljb25zIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2s6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi746eXCI7IH1cbiAgICAuc29jaWFsLWljb25zIGEudHdpdHRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLumJtcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg6FcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74WtXCI7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAuc29jaWFsLWljb25zIGEueW91dHViZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhadcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1czpiZWZvcmUsIC5zb2NpYWwtaWNvbnMgYS5nb29nbGVfcGx1czpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg5VcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5lbWFpbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnM7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1uZXh0LXRvLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUuYWN0aXZlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNUY3QjI3O1xuICAgICAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk1OTU5NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HoFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cblxuLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQ6ICM1ZjdiMjc7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZGFkYWRhIDUlLCAjNDg0ODQ4IDY1JSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBsYWJlbC5jb250cm9sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogNXB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgaDIge1xuICAgIG1hcmdpbjogMCAwIDAgMCAyNXB4LTEwcHg7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTsgfSB9XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgYmFja2dyb3VuZDogIzVmN2IyNztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNkYWRhZGEgNSUsICM0ODQ4NDggNjUlKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cblxuLnBpY2stbi1taXgtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoNCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDQgc3BhbiB7XG4gICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgcCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG5cbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogNy41cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnNsaWRlciB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTcuNXB4IDA7IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5zZWxlY3RlZC1jb3VudCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2Uge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2UuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAuZm9ybS1lcnJvciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBtYXJnaW4tcmlndGg6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlNWI3MDE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3IDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5waWNrLW4tbWl4LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXG5jYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cy5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAudG9wLWJhci51cHBlciB7XG4gICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaSwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmZpcnN0LWNoaWxkLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmxhc3QtY2hpbGQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAudG9wLWJhciAubWVudSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnRvcC1iYXIgLm1lbnUgPiBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAgIC50b3AtYmFyIC5tZW51ID4gbGkgYTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9wLWJhciAubWVudSBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIgPiBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpOmFjdGl2ZSA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaSBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA3LjVweCAxNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpIGE6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNEQjY1MUI7IH1cblxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2ctcGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zZy1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7IH0gfVxuXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7IH0gfVxuXG4uc2ctaGVhZGluZyB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAuc2ctaGVhZGluZyBoMiB7XG4gICAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLnNnLWludHJvIHtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNnLXN1Yi1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLXN1Yi1oZWFkaW5nIGgzIHtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5zZy1zdWItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zZy1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmM2YzZjM7IH1cblxuLnNnLWRlbW8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2ctZGVtby1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHAsXG4gIC5jc3MtcHJvcGVydHktdmlldyBwIHtcbiAgICBtYXJnaW46IDNweCAwOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgbGksXG4gIC5jc3MtcHJvcGVydHktdmlldyBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaXRlbS1pbmZvLWxhYmVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgLml0ZW0taW5mby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1pdGVtLXNlcGVyYXRvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNlbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuc2ctY29sb3VyLXBhbGV0dGUgLmdyaWQtY29sbGVjdGlvbi14Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5jb2xvdXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAuY29sb3VyLWJsb2NrOmhvdmVyIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbG91ci1ibG9jayAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sb3VyLWJsb2NrIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91ci1oZXgtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I3YjdiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNiNjRkOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdhOGU1MjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4YzhlOGE7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjN2MwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTI2YzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ3ZTE1OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNi0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWIzZDFlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjIyZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDEwMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjIwMjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MDQwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjA2MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjgwODA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhMGEwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmZiZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmZGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjU3OWE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI2NWIyOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNzNjODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM5NmQ2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg1YThkZDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZGI5ZTQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZjYmViOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlZGNmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2VlZjg7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjZmYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWI3MDE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjYzA0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEyMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQ3M2M7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkZDU4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZTI3NDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU4OGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWFiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjRjNzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5ZTM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmNmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMjM0ZTM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWI0OGU2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I1NWRlOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTcxZWI7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc4NWVlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxOWFmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWFlZjQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNjMmY3OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZDZmOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmViZmM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjVmZTsgfVxuICAuY29sb3VyLWJsb2NrIC5zdWNjZXNzLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjsgfVxuICAuY29sb3VyLWJsb2NrIC53YXJuaW5nLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfVxuICAuY29sb3VyLWJsb2NrIC5hbGVydC1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbG91ci1ibG9jayAucHJpY2UtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxOyB9XG4gIC5jb2xvdXItYmxvY2sgLnNhdmluZy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7IH1cbiAgLmNvbG91ci1ibG9jayAucnJwLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4uc2ctYnV0dG9ucyAuc2ctY29tcGFyaXNvbi10YWJsZSAuYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXR5cGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tdHlwZSArIC5ub3RpZmljYXRpb24tc3R5bGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zZy1xdWFudGl0eS1zZWxlY3RvcnMgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbi5zZy1jYWxsb3V0cyAuY2FsbG91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNnLWNvbXBhcmlzb24tdGFibGUgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4jdGFibGUtb2YtY29udGVudHMtc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgei1pbmRleDogMjsgfVxuXG4udGFibGUtb2YtY29udGVudHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuICAudGFibGUtb2YtY29udGVudHMgLmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICM1ZjdiMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAgIC50YWJsZS1vZi1jb250ZW50cyAuaGVhZGluZyBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC42cyBlYXNlLWluOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM2NTsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNnMgZWFzZS1pbjsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUaGlzIHN0eWxlcyB0aGUgZXhhbXBsZSByb3dzIHVzZWQgaW4gdGhlIGdyaWQgZG9jdW1lbnRhdGlvbi4gKi9cbi5ncmlkLXguZGlzcGxheSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbDpudGgtY2hpbGQoMiksXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuc21hbGwtY2VudGVyZWQsXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwubGFyZ2UtY2VudGVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxOyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbC5jb2xvci1lbmQge1xuICBiYWNrZ3JvdW5kOiAjZDRkNGQ0OyB9XG5cbi5zZy1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi5zZy1zaWRlLW1lbnUge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXIucGFkZGVkIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnNnLXNpZGUtbWVudSBhIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47IH1cblxuLnNnLXNpZGUtbWVudSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4uc2ctc2lkZS1tZW51IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMTQ2OGEwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uc2ctc2lkZS1tZW51Lm1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cblxuLypcclxuLS0tLS0gQWRtaW4gLS0tLS1cclxuVGhpcyB3aWxsIHBvdGVudGlhbCBoYW5kIHZtQWRtaW4gdjIuXHJcbiovXG4udm1hZG1pbi1lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAudm1hZG1pbi1lZGl0b3IuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzBweDsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzLmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yIC5jay1jb250ZW50LmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lID4gcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuY2stY29udGVudC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgfVxuICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjREI2NTFCO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvciArIGRpdiB7XG4gICAgei1pbmRleDogMTsgfVxuXG4ucHJvcGVydHktZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAxMyc7IH1cblxuLmNvbnRlbnQtZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA0NCc7IH1cblxuLmVkaXRvci1zYXZlLWJ1dHRvbi5pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBjNyc7IH1cblxuLmVkaXRvci1jYW5jZWwtYnV0dG9uLmlubGluZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDBkJzsgfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIHAge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM1RjdCMjc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lci5jb21wb25lbnQtcmVhZHkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnJlc3BvbnNpdmUtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5yZXNwb25zaXZlLXRhYnM6aGFzKC50YWJzLnZlcnRpY2FsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEge1xuICAgICAgbWFyZ2luOiA1cHggMCAwOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwgdGFibGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1yb3c6IDM7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMjBweCA1cHg7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY2ZWU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzVGN0IyNztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGU6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEgLmZvdW5kLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDE4cHggODBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyknOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUsIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwgdGFibGUsIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHRhYmxlIHRyIHRkLCAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRkLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0ZCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdWwsXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICNEQjY1MUI7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCB7XG4gIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIC5jb2wtbGFiZWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLm5vLXdyYXAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50YWJzLXBhbmVsIC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50IC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5LCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSAuY29sLWxhYmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCksIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5uby13cmFwLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIC5kZXNjcmlwdGlvbi1jb2wsIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIC5yZWZlcmVuY2UtY29sLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLmRlc2NyaXB0aW9uLWNvbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIC5yZWZlcmVuY2UtY29sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXRvcDogODBweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGEgIWltcG9ydGFudDsgfVxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50YWJzLnZlcnRpY2FsIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG4gIC50YWJzIC50YWJzLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFjY29yZGlvbi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3QgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5hY2NvcmRpb24ucGFuZWwtc3RhdGUtaW5kaWNhdG9yLWZpcnN0IC5hY2NvcmRpb24tdGl0bGUgLnRpdGxlIHtcbiAgICBvcmRlcjogMjsgfVxuICAuYWNjb3JkaW9uLnJhZGlvLWluZGljYXRvcnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+GklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5hY2NvcmRpb24ucmFkaW8taW5kaWNhdG9ycyAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhpJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiOyB9XG4gIC5hY2NvcmRpb24uc3VwcHJlc3MtdGl0bGUtc2luZ2xlLWNoaWxkIC5hY2NvcmRpb24taXRlbTpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFjY29yZGlvbi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQgLmFjY29yZGlvbi1pdGVtOm9ubHktY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YThlNTI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E4ZTUyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YzhlOGE7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGU4YTsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgYTpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgYTpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS5kaXNhYmxlZCAudGl0bGUtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IC40OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgLnRpdGxlLWljb24ge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgLmFjY29yZGlvbiBhLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgIC5hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuXG4uYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGZsZXg6IDEgMCA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBmbGV4OiAxIDAgMzMlOyB9IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhZtcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGNvbG9yOiAjNDQ3ZTE1O1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYnJvY2h1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAudXNlci1ndWlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fm1wiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucGFydHMtZGlhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6IHJnYmEoOTUsIDEyMywgMzksIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAud29yZDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmRvY3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMyYjU3OWE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucG93ZXJwb2ludDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucHB0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjOWIzZDFlOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmV4Y2VsOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy54bHMnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScueGxzeCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eDXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzVGN0IyNzsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wZGY6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBkZiddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eBXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmNzdjpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuY3N2J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvm51cIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDk1LCAxMjMsIDM5LCAwLjkpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmltYWdlLWF0dGFjaG1lbnQ6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmpwZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5wbmcnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZ2lmJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLndlYm0nXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAudmlkZW8tYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubW92J106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLm1wNCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eIXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC56aXA6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnppcCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eGXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogI0RCNjUxQjsgfVxuXG4vKlxyXG4tLS0tLSBTdGlja3kgLS0tLS0tIFxyXG5TdGlja3kgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGJ1aWxkIG9udG9wIG9mIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zdGlja3kuaHRtbC5cclxuXHJcbltJTVBPUlRBTlRdIC0gVGhpcyBDU1MgaXMgbm90IGZvciB0aGUgYmFza2V0IHN1bW1tYXJ5IG9yIHRoZSBoZWFkZXIgcGxlYXNlIHZpZXcgaGVhZGVyLnNjc3MgYW5kIGJhc2tldC5zY3NzIGZvciB0aGF0LlxyXG4qL1xuLnN0aWNreSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjhzOyB9XG4gIC5zdGlja3kuZWxlbWVudC1ub3QtaW4tdmlld3BvcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0gLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuXG5bZGF0YS1heGlzLXN0aWNreV0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5bZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMjhweDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyOC41ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyOC41ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4LjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyOC41ZW0pIHtcbiAgICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjguNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggMTRweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYS5kaXNhYmxlZCwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhW2Rpc2FibGVkXSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24uZGlzYWJsZWQsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYS5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24uZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0sIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGFbZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuXG4vKlxyXG4tLS0tLSBMaXN0IFNvcnRpbmcgT3B0aW9ucyAgLS0tLS1cclxuLSBIb2xkcyB0aGUgc3R5bGVzIGZvciB0aGUgZm9sbG93aW5nOiBcclxuICAtIFByb2R1Y3QgbGlzdChzKVxyXG4gIC0gQWNjb3VudCBhcmVhIHNvcnRpbmcgKCBoaXN0b3JpY2FsIHRyYW5zYWN0aW9ucywgY2FsbCBzeXN0ZW0sIG9yZGVycyApXHJcbi0gVGhlIGZvbGxvd2luZyBjb21wb25lbnRzIHdpbGwgYmUgZm91bmQgaGVyZTogXHJcbiAgLSBMaXN0IGl0ZW0gY291bnRcclxuICAtIFNvcnQgYnkgXHJcbiAgLSBGaWx0ZXJzIHRvZ2dsZSAoIElmIG9wZW5pbmcgYSBwb3B1cCApXHJcbiAgLSBWaWV3IHN3aXRjaGVyICggR3JpZCBvciBUYWJsZSApXHJcbiAgLSBQYWdpbmF0aW9uIFxyXG4gIC0gSXRlbXMgcGVyIHBhZ2UuXHJcbiovXG4uQVhJU1Jlc3VsdHNDb250YWluZXIgLmNvbnRyb2wgLmxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY29udHJvbCAubGFiZWwge1xuICB3aWR0aDogMTYwcHg7XG4gIG1hcmdpbi1yaWdodDogMTNweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jb250cm9sIC5sYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNvbnRyb2wgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgPiBkaXYsIC5saXN0LXNvcnQtY29udGFpbmVyID4gZGl2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75WtXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMyk7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpub3QoOm9ubHktY2hpbGQpOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOm5vdCg6b25seS1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAtNnB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIC5idXR0b25zLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMTJweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmFjdGl2ZS1maWx0ZXItY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgICB0b3A6IC02cHg7XG4gICAgICBsZWZ0OiAxMHB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgbWluLXdpZHRoOiAzNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQgKyBidXR0b24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQgKyBidXR0b24ge1xuICAgICAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIge1xuICAgICAgbWF4LXdpZHRoOiA0OTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAudG9vbHRpcC1jb250YWluZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCB7XG4gICAgICAgICAgd2lkdGg6IDIxNXB4O1xuICAgICAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDIxNXB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMCAxMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIHtcbiAgICAgICAgICBnYXA6IDAgNXB4OyB9IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6aG92ZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6aG92ZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6aG92ZXIgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhIC5pY29uLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhIC5pY29uLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AilwiOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgItcIjsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyICsgLkFYSVNQZXJQYWdlQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgKyAuQVhJU1BlclBhZ2VDb250YWluZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpudGgtY2hpbGQoMiksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEwLjI2cHggMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgcGFkZGluZzogMTAuMjZweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGE6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLnBhZ2luYXRpb24tY29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5BWElTUGFnZU51bWJlcmluZywgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciArIC5BWElTUGFnZU51bWJlcmluZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBvcmRlcjogNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjMlOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uQVhJU1BhZ2VOdW1iZXJpbmcsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGdhcDogMCA1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5BWElTUGFnZU51bWJlcmluZyBhLCAucGFnaW5hdGlvbi1jb250YWluZXIgYSB7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwLjI2cHggMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYTpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGE6YWN0aXZlLCAucGFnaW5hdGlvbi1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhLnNlbGVjdGVkLCAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5hY3RpdmUsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLnNlbGVjdGVkLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIC5BWElTUGFnZU51bWJlcmluZyBhLnNlbGVjdGVkOmhvdmVyLCAuQVhJU1BhZ2VOdW1iZXJpbmcgYS5hY3RpdmU6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLnNlbGVjdGVkOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYS5hY3RpdmU6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLkFYSVNQYWdlTnVtYmVyaW5nIC5BWElTUGFnZU51bWJlckpvaW5lciwgLkFYSVNQYWdlTnVtYmVyaW5nIC5wYWdpbmF0aW9uLW9wdGlvbi1qb2luZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciAuQVhJU1BhZ2VOdW1iZXJKb2luZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4ucGFnaW5hdGlvbkxhYmVsLCAucGFnaW5hdGlvbi1sYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLyoqXHJcblxyXG4tLS0tIE1hbmFnZSBDYWxscyAtLS0tIFxyXG5cclxuLSBGb3JtYWxseSBrbm93IGFzIHRoZSBjYWxsIHBvcnRhbCBiZWZvcmUgaXQgZ290IGVtYmVkZGVkIGluIGV4cHJlc3MsIG1hbmFnZSBjYWxscyBpcyBhY2NvdW50IGZ1bmN0aW9uYWxpdHkgdGhhdCBkaXNwbGF5cyBjYWxscyBpbiBhIGxpc3QgaW4gZXhwcmVzcy5cclxuLSBTdHlsZXMgaW5jbHVkZWQgaGVyZTogXHJcbiAgLSBMaXN0IGZvciBjYWxsIGxpc3QgKyBldmVudHMgbGlzdC5cclxuICAtIEVucXVpcnkgc3VtbWFyeS5cclxuICAtIENhbGwgcmF0aW5nIGZvbnRzLlxyXG4gIC0gU3RpY2t5IGJ1dHRvbnMgaWNvbnMuXHJcbioqL1xuLmVucXVpcnktaGVhZGVyLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCBsaSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAudmFsdWUge1xuICAgICAgZmxleDogMTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIC5lbnF1aXJ5LWhlYWRlci1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW8ge1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIHVsIHtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lci5wYWdlLXZpZXcge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyLmxpc3QtdmlldyB7XG4gIHdpZHRoOiAyMi41cHg7XG4gIGhlaWdodDogMjIuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyLmxpc3QtdmlldyB7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5yYXRpbmctbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAucmF0aW5nLWluZm9ybWF0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgaW5wdXQge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1jYW5ub3QtcmF0ZS5zdmdcIik7XG4gICAgb3BhY2l0eTogLjE7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMC51bnJhdGVkIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXVucmF0ZWQuc3ZnXCIpO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTEgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdmVyeS1iYWQuc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTIgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctYmFkLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0zIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWF2ZXJhZ2Uuc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTQgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctZ29vZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tNSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy12ZXJ5LWdvb2Quc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5pY29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLnJhZGlvIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogLjI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5yYWRpbzpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLnJhZGlvOmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAuNzsgfVxuXG4uY2FsbC11cmdlbmN5LWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY2FsbC11cmdlbmN5LWljb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuY2FsbC11cmdlbmN5LWljb24ubG93IHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWxvdy5zdmcpOyB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5tZWRpdW0ge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktbWVkaXVtLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmhpZ2gge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktaGlnaC5zdmcpOyB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5jcml0aWNhbCB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1jcml0aWNhbC5zdmcpOyB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAyMi41cHg7XG4gICAgaGVpZ2h0OiAyMi41cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJnZW5jeS1pbWFnZS11cmwpO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtYmFjay10by1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC5XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1yZXF1ZXN0LWFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLtcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLWFkZC1pbmZvcm1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gvFwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtY3JlYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC6XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxudGFibGUuY2FsbC10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSB0ZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlLmVucXVpcnktdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZS5lbnF1aXJ5LXRhYmxlIHtcbiAgICAgIG1hcmdpbjogMjBweCAwOyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDEycHg7IH0gfVxuICAgIHRhYmxlLmNhbGwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wgLm5vdGlmaWNhdGlvbi1jb250ZW50LCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgdGFibGUuY2FsbC10YWJsZSB0ZC51bnJlYWQtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudW5yZWFkLWNvbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgIHdpZHRoOiA5MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSB7XG4gICAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY3VzdG9tZXItbmFtZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCB7XG4gICAgICB3aWR0aDogMTIlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5zdWJqZWN0LWNvbCB7XG4gICAgd2lkdGg6IDU1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDIzLjclO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMS41JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY3JlYXRlZC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY3JlYXRlZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNyZWF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubGFzdC11cGRhdGVkLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCB7XG4gICAgICB3aWR0aDogNy43JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnJhdGluZy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnJhdGluZy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5yYXRpbmctY29sIHtcbiAgICAgIHdpZHRoOiA2JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVyZ2VuY3ktY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnVyZ2VuY3ktY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51cmdlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnR5cGUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC50eXBlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDclO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zb3VyY2UtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zb3VyY2UtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc291cmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5kYXRhLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguZGF0ZS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHtcbiAgICAgIHdpZHRoOiAxNiU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubm90ZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLm5vdGVzLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jaGFuZ2VzLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2hhbmdlcy1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuZWxsaXBzaXMtdGV4dDpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcbiAgICBsZWZ0OiAtNXB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIGxhYmVsIHNwYW4uY2hlY2tib3gsIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5yYWRpbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgLmxhYmVsIHtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYWxsLXR5cGUtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuY2FsbC10eXBlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC10eXBlLWljb246YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzdhOGU1MjsgfVxuICAuY2FsbC10eXBlLWljb24uZGVtbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuY2FsbC10eXBlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC1wcml2YWN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLFcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2xhc3NpZmljYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6goFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6glVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250YWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJdcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY29udHJhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY3JlYXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCpXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmRlZmVycmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKhcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZXNjYWxhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCvXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmltcGFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCqXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCfXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluZm9ybWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK1cIjsgfVxuICAuY2FsbC10eXBlLWljb24ubGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCrXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5wcmlvcml0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCwXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gslwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLNcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc2xhLWluY2x1c2lvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC0XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnN0YXR1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCbXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVuZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gt1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi51cmdlbmN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLhcIjsgfVxuICAuY2FsbC10eXBlLWljb24ud29ya2Zsb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnVwiOyB9XG5cbi5jYWxsLXNvdXJjZS1pY29uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNhbGwtc291cmNlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC1zb3VyY2UtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzdhOGU1MjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXNvdXJjZS1pY29uLmRlbW86YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi51c2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5wb3J0YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuXG4udGFibGUtaGVhZGluZyB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cbi5iYWNrLXRvcC1jb250YWluZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDcwcHg7XG4gIHotaW5kZXg6IDE1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5iYWNrLXRvcC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIGJvdHRvbTogOTBweDsgfSB9XG5cbi5iYWNrLXRvcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjZlZTtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjpob3ZlciwgLmJhY2stdG9wLWJ1dHRvbjpob3Zlci5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLmJhY2stdG9wLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5iYWNrLXRvcC1idXR0b246aG92ZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNUY3QjI3O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAuYmFjay10b3AtYnV0dG9uOmFjdGl2ZTphY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjREI2NTFCO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI0RCNjUxQjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFjay10b3AtYnV0dG9uLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLypcclxuLS0tLS0gU2VjdGlvbnMgLS0tLS0gXHJcbkF4aXMgdG9nZ2xlciBpcyBidWlsZCBvbiB0b3Agb2YgRm91bmRhdGlvbidzIFRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCBhbmQgaXMgc2ltaWxhciB0byBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvYWNjb3JkaW9uLmh0bWwgYnV0IHNvbWV0aW1lcyBpdCBpcyBub3QgcG9zc2libGUgY29udmVuaWVudCB0byBidWlsZCB0aGUgc2VjdGlvbihzKSBpbiA8dWw+IG9yIGluIGRlc2t0b3AgeW91IHJlcXVpcmUgdGhlIGxheW91dCB0byBiZSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBtb2JpbGUuXHJcbiovXG4uYXhpcy1zZWN0aW9uIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24tY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmF4aXMtc2VjdGlvbi5yZXZlYWwtZW5hYmxlZDpub3QoLmFjdGl2ZSkge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IH1cbiAgICAuYXhpcy1zZWN0aW9uLnJldmVhbC1lbmFibGVkOm5vdCguYWN0aXZlKSAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuNnMsIHBhZGRpbmctYm90dG9tIDAuNnM7IH1cbiAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuXG4uYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCLvgbhcIjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cblxuLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmF4aXMtc2VjdGlvbi1jb250ZW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5heGlzLXNlY3Rpb24tY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZWxsaXBzaXMtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlIHtcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cbi5ibHVyIHtcbiAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcbiAgZmlsdGVyOiBibHVyKDEwcHgpO1xuICBhbmltYXRpb246IGJsdXIgMC42czsgfVxuICAuYmx1ci5kZWZ1c2Uge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zczsgfVxuXG5Aa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xuICAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDEwcHgpOyB9XG4gIDIwJSB7XG4gICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgNDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoNnB4KTsgfVxuICA2MCUge1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gIDgwJSB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7IH1cbiAgMTAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH0gfVxuXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjE7IH1cblxuLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIGhlYWRlciB7XG4gICAgaGVpZ2h0OiAyMDBweDsgfSB9XG5cbi5kZW1vLWxpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLmRlbW8tbGluazpob3ZlciB7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmRlbW8tbGluazphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmRlbW8tbGluayAuc2l0ZS1sb2dvIHtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5kZW1vLWxpbmsgLnNpdGUtbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLnNpdGUtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnNpdGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuXG4uc2l0ZS1hcmVhLXBhZ2VzIHtcbiAgcGFkZGluZzogMjBweCAwIDA7IH1cbiAgLnNpdGUtYXJlYS1wYWdlcyA+IHVsID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICAuc2l0ZS1hcmVhLXBhZ2VzIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnBhZ2UtdmFyaWFudHMtY29udGFpbmVyID4gdWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5wYWdlLXZhcmlhbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogNXB4IDIuNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5wYWdlLXZhcmlhbnQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5wYWdlLXZhcmlhbnQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAucGFnZS12YXJpYW50IGEgaSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnBhZ2UtdmFyaWFudCBhOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLnBhZ2UtdmFyaWFudCBhOmhvdmVyIGkge1xuICAgICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5wYWdlLXZhcmlhbnQgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgICAgLnBhZ2UtdmFyaWFudCBhOmFjdGl2ZSBpIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnNpdGUtYXJlYS1jZWxsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnNpdGUtYXJlYS1jZWxsLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLnNpdGUtYXJlYS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuc2l0ZS1hcmVhLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cblxuI3RlbXBsYXRlLWV4cHJlc3MtcGFnZS1saXN0ID4gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjdGVtcGxhdGUtZXhwcmVzcy1wYWdlLWxpc3QgPiB1bCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgI3RlbXBsYXRlLWV4cHJlc3MtcGFnZS1saXN0ID4gdWwgPiBsaSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICN0ZW1wbGF0ZS1leHByZXNzLXBhZ2UtbGlzdCA+IHVsID4gbGkge1xuICAgICAgICBtaW4td2lkdGg6IDMzJTsgfSB9XG5cbi5tb2R1bGVzLXRlc3QtcGFnZS1oZWFkZXIge1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDg0ODQ4OyB9XG5cbi5yb3ctYmFja2dyb3VuZC5ncmlkLWNvbnRhaW5lciAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gIHRvcDogMzZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lciAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gICAgdG9wOiAwOyB9IH1cblxuLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5yb3ctY29udHJvbHMge1xuICAgIHRvcDogMDsgfVxuICAubW9kdWxlcy1jb250cm9sLXBhbmVsLm1vZHVsZS1jb250cm9scyB7XG4gICAgdG9wOiA1MHB4OyB9XG5cbi5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIG9wYWNpdHk6IDAuNTtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uczpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1RjdCMjc7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b24ubW9kdWxlLWluZm86YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGYxMjknOyB9XG5cbi5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMzIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA1MDBweDsgfSB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5tb2R1bGVzLWluZm8taGVhZGluZy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmdlbmVyYWwtaW5mb3JtYXRpb24tcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM1RjdCMjc7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwgdWwgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24gLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgd2lkdGg6IDI5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjOTNiNjRkOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogN3B4IDAgMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDAgMjVweDsgfSB9XG5cbi5zdG9ja2lzdC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnN0b2NraXN0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLmhlYWRlci1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjM0Mzc1cmVtOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC50ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAudGVsZXBob25lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4ud2Vic2l0ZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCA0MHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgNXB4IDMwcHgpO1xuICBjb2xvcjogIzVGN0IyNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdlZDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53ZWJzaXRlLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAud2Vic2l0ZS1idXR0b246aG92ZXIsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICBib3JkZXItY29sb3I6ICM5M2I2NGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLndlYnNpdGUtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLndlYnNpdGUtYnV0dG9uOmFjdGl2ZSwgLndlYnNpdGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQsIC53ZWJzaXRlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAud2Vic2l0ZS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogMCA1cHg7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+PhVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBjb2xvcjogIzhjOGU4YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNEQjY1MUI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzVGN0IyNzsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDYwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAge1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4ub3JnYW5pc2F0aW9uLWNvbnRhaW5lciB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtbm8tcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5pbmZvLXdpbmRvdy1hZGRyZXNzLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC5pbmZvLXdpbmRvdy1hZGRyZXNzLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYWRkcmVzcyBhLCAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLnRlbGVwaG9uZSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVHJlZSBNZW51IC0tLS0tXHJcblxyXG4qL1xuLnRyZWUtbWVudSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udHJlZS1tZW51IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAudHJlZS1tZW51IHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSB1bCBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnRyZWUtbWVudSB1bCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudHJlZS1tZW51IHVsIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC50cmVlLW1lbnUgdWwgbGFiZWwgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwuYWN0aXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbhcIjsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsLmFjdGl2ZSB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBoZWlnaHQgMC42czsgfVxuXG4udHJlZS1tZW51ID4gdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNi42NnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpOm5vdCgudHJlZS1tZW51LXBhcmVudCkgLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDcwcHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTphZnRlciB7XG4gICAgICB0b3A6IDIyLjVweDtcbiAgICAgIGxlZnQ6IDE2LjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMzIuNXB4O1xuICAgICAgICAgIGxlZnQ6IDgxLjVweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgbGVmdDogMTEuNXB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMTdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMThweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0NXB4OyB9IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDExLjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgIHRvcDogMjIuNXB4O1xuICAgICAgICBsZWZ0OiAzNi41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDMyLjVweDtcbiAgICAgICAgICAgIGxlZnQ6IDU2LjVweDsgfSB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgbGFiZWwgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0zMy41cHg7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIC50cmVlLW1lbnUtcGFyZW50LmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtbWVudS1wYXJlbnQgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDI1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAudHJlZS1tZW51ID4gdWwgdWwgdWwgbGkgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzMi41cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTUuNXB4O1xuICAgIGxlZnQ6IDEyLjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50cmVlLW1lbnUuYXNzZXRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAudHJlZS1tZW51LmFzc2V0cyA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNmVlOyB9XG4gICAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdhOGU1MjsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlID4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUsIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAubGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLmFsZXJ0LXZhbHVlIC52YWx1ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIycHg7IH0gfVxuXG4udHJlZS1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24uYWxlcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG5cbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLvgbdcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNUY3QjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiA4cHg7IH1cbiAgLnRyZWUtbWVudS1leHBhbmQtdG9nZ2xlLmFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvgbhcIjsgfVxuXG4vKlxyXG4tLS0tLSBSZXZpZXdzIC0tLS0tIFxyXG4tIEhhbmRsZXMgaW50ZXJmYWNpbmcgd2l0aCB0aGlyZC1wYXJ0eSByZXZpZXcgYXBpJ3MgbGlrZSBmZWVmby5cclxuKi9cbi5yYXRpbmctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucmF0aW5nLWNvbnRhaW5lciAucmV2aWV3LXN0YXJzIHtcbiAgICBtYXJnaW46IDAgMTBweCAwOyB9XG4gICAgLnJhdGluZy1jb250YWluZXIgLnJldmlldy1zdGFycyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5yYXRpbmctY29udGFpbmVyIC5zdGFyLWZ1bGwsIC5yYXRpbmctY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb25dIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnJhdGluZy1jb250YWluZXIgLnN0YXItZnVsbDpiZWZvcmUsIC5yYXRpbmctY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb25dOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AhVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogI2U1YjcwMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgdWwgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlldy1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5kaXNwbGF5LW5hbWUtY29udGFpbmVyICsgLmxhc3QtdXBkYXRlZC1jb250YWluZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnLSc7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5kaXNwbGF5LWxvY2F0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5saXN0LWNvdW50LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5saXN0LWNvdW50LWNvbnRhaW5lciAuY3VycmVudC1zaG93aW5nLWNvdW50IHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXBhZ2VyLWNvbnRhaW5lciArIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5zZXJ2aWNlLXByb3ZpZGVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5mZWVmby1sb2dvIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9mZWVmby1sb2dvLnBuZ1wiKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIgLnJldmlld3MtcHJvZHVjdC1yZXZpZXctYWxsLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi5yZXZpZXctc29jaWFsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmlldy1zb2NpYWwtY29udGFpbmVyIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciArIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLmhlbHBmdWwtdm90ZXMtY29udGFpbmVyIC5oZWxwZnVsLXZvdGVzLWRpc3BsYXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+FpFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDExcHg7IH1cblxuLypcclxuLS0tLS0gUGFnZSBTZWN0aW9uIENvbG91cnMgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZC1jb2xvdXJzIHRvIHNwZWNpZmljIHNlY3Rpb25zIG9uIHNwZWNpZmljIHBhZ2VzIGFjcm9zcyBleHByZXNzIHVzaW5nIHRoZSBib2R5IGlkLCBzbyBhIHBvdGVudGlhbCBjb25maWcgY291bGQgbG9vayBsaWtlIHRoaXM6XHJcblxyXG5oZWFkZXItdXNwLWJhcjogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEsXHJcbiAgICBwYWdlczogKFwiaG9tZXBhZ2VcIilcclxuKVxyXG5cclxuVGhlIHRvcCBsZXZlbCBtYXAga2V5IGlzIHRoZSBjbGFzcyBvZiB0aGUgZWxlbWVudCB0aGF0IHlvdSB3YW50IHRvIGVmZmVjdCB0aGVuIGluc2lkZSBvZiB0aGF0IGlzIHRoZSBjb25maWd1cmF0aW9uIGkuZSBiYWNrZ3JvdW5kIGNvbG91ciArIHdoaWNoIHBhZ2VzIHRvIGFwcGx5IHRoaXMgdG8gd2hpY2ggaXMgYSBsaXN0IG9mIGJvZHkgaWQncy5cclxuKi9cbi8qXHJcblxyXG4tLS0tIFN0YXIgUmF0aW5ncyAtLS0tIFxyXG5IYW5kbGVzIHN0YXIgcmF0aW5ncyBmb3IgcHJvZHVjdHMsIHRoaXMgc3VwcG9ydHMgcGVyc2VudGFnZSBiYXNlZCByYXRpbmcsIGhlcmUgaXMgYW4gb3ZlcnZpZXcgb2Ygd2hhdCB0aGlzIHdvdWxkIGxvb2sgbGlrZSBodHRwczovL2NvZGVwZW4uaW8vZmlsY3AvcGVuL1F2WlZPZyAuXHJcblxyXG4qL1xuLnN0YXItcmF0aW5ncy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIVcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmJhY2tncm91bmQtc3RhcnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXN0YXJzIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmZvcmVncm91bmQtc3RhcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLmZvcmVncm91bmQtc3RhcnMgW2NsYXNzKj1yYXRpbmctaWNvbi1dOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2U1YjcwMTsgfVxuICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4ucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogODBweDsgfVxuICAgIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tc3RhcnMtY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlNWI3MDE7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG4uYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAxMHB4OyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5iYWNrZ3JvdW5kLWJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmJhY2tncm91bmQtYmFyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5mb3JlZ3JvdW5kLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIgLmZvcmVncm91bmQtYmFyIC5wZXJjZW50YWdlLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTViNzAxOyB9XG5cbi5icmVha2Rvd24tY291bnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDMwcHg7IH1cblxuLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cblxuLypcclxuLS0tLS0gQmFyY29kZSBTY2FubmVyIC0tLS0tLSBcclxuXHJcbiovXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHgpO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmhvdmVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjREI2NTFCO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlcjphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphY3RpdmUsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmFjdGl2ZTphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qGNXCI7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLmJhcmNvZGUtc2Nhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFyY29kZS1zY2FubmVyIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lciBjYW52YXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci5pcy1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA0OTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDFweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDMzMHB4OyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAudG9vbHRpcC1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5iYXJjb2RlLXNjYW5uZXItcmVzcG9uc2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBJbWFnZSAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kIGltYWdlKHMpIHRvIHNwZWNpZmljIHBhZ2UgdHlwZXMgdXNpbmcgdGhlIGJvZHkgaWQsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb246XHJcblxyXG5ob21lcGFnZTogKFxyXG4gICAgYmFja2dyb3VuZC1pbWFnZSA9PiBbIFJFUVVJUkVEIF0gVGhlIHVybCBvZiB0aGUgaW1hZ2UuXHJcbiAgICByZXBlYXQtYmFja2dyb3VuZCA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBuby1yZXBlYXQuXHJcbiAgICBiYWNrZ3JvdW5kLXNjYWxlID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIGNvdmVyLlxyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50cyA9PiBbIE9QVElPTkFMIF1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb24gPT4gWyBPUFRJT05BTCBdXHJcbilcclxuXHJcbiovXG4vKlxyXG4tLS0tLSBUYWdzIC0tLS0tXHJcblVzZWQgdG8gZGlzcGxheSBhIGNhdGFnb3Jpc2F0aW9uIG9mIGdyb3VwcyAvIGtleXdvcmRzLCB0aGlzIGlhIHByaW1hcmlseSB1c2VkIGluIHRoZSBjbXMgc3lzdGVtIGN1cnJlbnRseSBmb3IgZGlwbHNheSBuZXdzLCBibG9ncyAmIGV2ZW50J3MgYXJ0aWNsZXMuXHJcbiovXG4udGFnZ2luZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lci5hbGlnbi1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyLmxpc3RpbmcgLnRhZ2dpbmctaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFncy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdzLWNvbnRhaW5lciB7XG4gICAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZ2dpbmctaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4OyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnZ2luZy1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbS5yZW1vdmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4vKlxyXG4tLS0tLSBBeGlzIFRvZ2dsZXIgLS0tLS1cclxuQnVpbGQgb250b3Agb2YgRm91bmRhdGlvbnMgdG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sLCB3ZSBuZWVkZWQgdG8gYWRkIGluIHNvbWUgYWRkaXRpb25hbCBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGZvciByZS10b2dnbGluZyBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY29udGVudCBhcmVhLlxyXG4qL1xuLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3RpdmUgLnRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAtMTsgfVxuXG4vKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgQ29sb3VycyAtLS0tLVxyXG5TaW1pbGFyIHRvIGF4aXMtc2VjdGlvbi1jb2xvdXJzIGEgY3VzdG9tIGNvbmZpZyBpcyBwcm92aWRlIHdoaWNoIGdldHMgbG9vcGVkIHRocm91Z2ggYXNzaWduaW5nIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IHRvIHRoZSByZWxpZXZlbnQgcGFnZXMuXHJcblxyXG5OT1RJQ0U6IEhhZCB0byBzZXQgdGhlICFpbXBvcnRhbnQgZmxhZyBvbiB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSBkdWUgdG8gZm91bmRhdGlvbiBlbmZvcmluZyB0aGF0IHRoZSBib2R5IGJhY2tncm91bmQgY29sb3VyIG11c3QgYmUgc2V0LlxyXG4qL1xuLypcclxuLS0tLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLS0tXHJcblxyXG5Qcm92aWRlcyBhbiBhcmVhIHRvIHBsYWNlIG9wdGlvbnMgKCBpLmUgYSBmb3JtIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgKSB3aGljaCB0aGVuIGdldHMgZmlsbGVkIGluIHRvIHVwZGF0ZSBtdWx0aXBsZSBwb2ludHMgb24gdGhlIHBhZ2UuXHJcblxyXG4qL1xuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2E4ZTUyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDExMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmlucHV0LW51bWJlciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmNvbnRyb2wuc2VhcmNoIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5jb250cm9sLnNlYXJjaCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gIGNvbG9yOiAjNUY3QjI3OyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciBmb3JtIC5sb29rdXAtb3B0aW9uLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24uYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiBidXR0b24ge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5mb3JtLWVycm9yIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtcmVzcG9uc2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC0gaHR0cHM6Ly9hbmltYXRlLnN0eWxlL1xuICogVmVyc2lvbiAtIDQuMS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEFuaW1hdGUuY3NzXG4gKi9cbjpyb290IHtcbiAgLS1hbmltYXRlLWR1cmF0aW9uOiAxcztcbiAgLS1hbmltYXRlLWRlbGF5OiAxcztcbiAgLS1hbmltYXRlLXJlcGVhdDogMTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTFzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTJzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpOyB9XG5cbkBtZWRpYSBwcmludCwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50OyB9XG4gIC5hbmltYXRlX19hbmltYXRlZFtjbGFzcyo9J091dCddIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyogQXR0ZW50aW9uIHNlZWtlcnMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fcnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2hha2VYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VYO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VYOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2hha2VZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VZO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VZOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7IH1cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsgfVxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOyB9XG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5hbmltYXRlX19oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsgfSB9XG5cbi5hbmltYXRlX19zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX190YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX193b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsgfVxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsgfVxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOyB9XG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTsgfVxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7IH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfSB9XG5cbi5hbmltYXRlX19qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYW5pbWF0ZV9faGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuLyogQmFjayBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDsgfVxuXG4vKiBCYWNrIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7IH1cblxuLyogQm91bmNpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7IH1cblxuLyogQm91bmNpbmcgZXhpdHMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgfVxuXG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDsgfVxuXG4vKiBGYWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDsgfVxuXG4vKiBGbGlwcGVycyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2ZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5hbmltYXRlX19mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbi8qIExpZ2h0c3BlZWQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qIFJvdGF0aW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuLyogUm90YXRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbi8qIFNwZWNpYWxzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9faGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5hbmltYXRlX19qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fcm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuLmFuaW1hdGVfX3JvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKiBab29taW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsgfVxuXG4vKiBab29taW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwOyB9XG5cbi8qIFNsaWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsgfVxuXG4vKlxyXG5cclxuLS0tLS0gQXhpcyBFbGVtZW50IFByaW50IC0tLS0tIFxyXG5BbGxvd3MgeW91IHRvIHNlbGVjdCBhbiBlbGVtZW50IHRvIGJlIHByaW50ZWQgaW5zaWRlIG9mIHRoZSBET00uXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggZ2VuZXJhbCBmb3JtYXR0aW5nIG9mIHRleHQgd2hlbiBpbiBwcmludCB2aWV3IGFuZCB3aGljaCBlbGVtZW50IHNob3VsZCBiZSBleGNsdWRlZCBhcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHRoZW0gdG8gYmUgdGhlcmUuXHJcblxyXG4qL1xuQG1lZGlhIHByaW50IHtcbiAgLnBlLW5vLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnBlLXByZXNlcnZlLWFuY2VzdG9yIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtYXhpcy1zdGlja3ldLCBbZGF0YS1zdGlja3ktY29udGVudC1jb250YWluZXJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lbnF1aXJ5LWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhbGwtdHlwZS1pY29uLCAuY2FsbC1zb3VyY2UtaWNvbiB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gaDIge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0ciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIsIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxyXG4tLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tLSBcclxuU3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIHN0eWxpbmcgZm9yIEFYSVMgRG9jdW1lbnRhdGlvbiwgdGhlcmUgd2lsbCBiZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiB0aGlzIGNvZGUgYW5kIGNtcyBjb250YWluZXJzLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIHRoZSBmb2xsb3dpbmcgcGFnZSB0eXBlczpcclxuLS0gUHJvZHVjdHNcclxuLS0tLSBCb29rc1xyXG4tLS0tLS0gQ2hhcHRlcnNcclxuLS0tLS0tLS0gQXJ0aWNsZXNcclxuLS0tLS0tLS0gRnVuY3Rpb25zXHJcbi0tLS0tLS0tLS0gQXJ0aWNsZVxyXG4qL1xuLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGdhcDogMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XG4gICAgICAgICAgbWluLXdpZHRoOiA0MjBweDsgfSB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2ggLmZvcm0tZXJyb3Ige1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLnNpdGUtc3R5bGUgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNUY3QjI3KTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyICsgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogMCA1cHg7XG4gICAgcGFkZGluZzogN3B4IDVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgYSB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0RCNjUxQik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgLmluZGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lciB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDU2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIHtcbiAgICBtYXJnaW46IDM1cHggMCA0NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwIDU1cHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNUY3QjI3KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICM5NTk1OTU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5NTk1OTU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMzBweDtcbiAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtOSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiA4MHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzVGN0IyNyk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogM3B4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmJhbm5lci1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDI0NXB4OyB9IH1cblxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB1bCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiA1cHggMjVweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgdWwgbGkge1xuICAgIGZsZXg6IG5vbmU7IH1cblxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjOTNiNjRkO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDpob3ZlciB7XG4gICAgY29sb3I6ICNEQjY1MUI7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDphY3RpdmUge1xuICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQucHJpbnRlci1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgK9cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50LmRvY3VtZW50YXRpb24tcHVibGljLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQuZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLukbNcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBjb2xvcjogIzVGN0IyNztcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICM1RjdCMjc7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDMge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNCwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLXJ1bGUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2FlYWVhZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTU5NTk1OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItZm9vdGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk1OTU5NTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxNXB4O1xuICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDI1cHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogI2VlZWVlZTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBvcGFjaXR5OiAuNDtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMCAyNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Uge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmVbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgcCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGxpLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciB0YWJsZSB0aGVhZCB0aCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDIsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgzLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDUsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg2LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBwLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBsaSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgYSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgdGFibGUgdGhlYWQgdGgsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHRhYmxlIHRib2R5IHRkIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7IH1cblxuLmRvY3VtZW50YXRpb24tbm90LXB1Ymxpc2hlZCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgdWwubWVudTpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbi5tZW51LmZ1bmN0aW9ucy1saXN0IHtcbiAgLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4OyB9IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZmZmZjsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjREI2NTFCKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhvdmVyID4gYSwgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIgPiBidXR0b246YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgI0RCNjUxQik7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjREI2NTFCKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCAuaW5kZXgge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4OiAxOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCA+IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCBsaSB7XG4gIHBhZGRpbmc6IDEwcHggNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCBsaSBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24tY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gICAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciAubGFiZWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yZXZpc2lvbi1jb3VudC1jb250YWluZXIuc2VwZXJhdG9yIHNwYW46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5yZXZpc2lvbi1jb3VudC1jb250YWluZXIgc3BhbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gIC5yZXZpc2lvbi1pbmZvcm1hdGlvbi1jb250YWluZXIgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTsgfVxuXG4udGVjaG5pY2FsLWRvY3VtZW50YXRpb24tbGlzdC1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cblxuLmRvY3VtZW50YXRpb24tZGVtby1saW5rLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApOyB9XG5cbi5pbnNwZWN0LXByb21wdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDMwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5leHByZXNzLWNvbmZpZ3VyYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9IH1cbiAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIC5jb25maWd1cmF0aW9uLXNlY3Rpb246bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIC5jb25maWd1cmF0aW9uLXNlY3Rpb24gLmF4aXMtc2VjdGlvbi1oZWFkZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDVweCAwOyB9XG5cbi50ZWNobmljYWwtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAudGVjaG5pY2FsLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAudGVjaG5pY2FsLWxpc3QgLmhlYWRlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXN0YXRlLWNvbG91cik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgLnN0YXRlLmFjdGl2ZSB7XG4gICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZS5kaXNhYmxlZCB7XG4gICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC50ZWNobmljYWwtbGlzdCAua2V5LXZhbHVlLXBhaXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgLmtleS12YWx1ZS1wYWlyIC5uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm5ldXRyYWxpc2VkLWl0ZW1zIHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAubmV1dHJhbGlzZWQtaXRlbXMgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLm5hbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLm5hbWU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiPT5cIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02KTsgfVxuICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSAudmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi8qXHJcbi0tLS0tIENvbnRleHQgTWVudSAtLS0tLS0gXHJcbkVzc2VudGlhbGx5IGEgdG9vbGJhciAvIHRvb2xib3ggbWVudVxyXG4qL1xuLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHotaW5kZXg6IDE5OTU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyLmFjdGl2ZSwgLmNvbnRleHQtbWVudS1jb250YWluZXIuaXMtY2xvc2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB6LWluZGV4OiAxOTk2OyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGksIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGksIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIHVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzOyB9IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREI2NTFCO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQjY1MUI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmhvdmVyLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogNy41cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDQ1cHg7IH1cbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUgLm1lbnUtb3B0aW9uLWxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24tbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvdXIpO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvl71cIjsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDExcHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0wIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0xIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0yIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWJsYWNrLWNvbG91cik7XG4gICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTMsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTQge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74KTXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnB1Ymxpc2hlZC5zdGF0ZS12YWx1ZS10cnVlIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnB1Ymxpc2hlZC5zdGF0ZS12YWx1ZS1mYWxzZSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5lZGl0LW1lbnUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CTXCI7XG4gICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC10ZXh0IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BhFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5lZGl0LXByb3BlcnRpZXMgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5tb3ZlLXVwIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6TglwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5tb3ZlLWRvd24gLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pK4XCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmluc2VydC1iZWZvcmUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGQXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5pbnNlcnQtYWZ0ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wcm9tb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Au1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5kZW1vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74C8XCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmRlbGV0ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS1hcnRpY2xlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+CslwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hdWRpdC10cmFpbCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5pcIjsgfVxuXG4vKlxyXG4tLS0tLSBHcmFkdWF0ZWQgQ29sb3VyIEVkZ2UgLS0tLS0tIFxyXG5FZGdlIGVmZmVjdCB3aGVyZSB0aGUgaXMgdHlwaWNhbGx5IDMgdG9uZXMgb2YgYSBzcGVjaWZpYyBjb2xvdXIgaW4gdGhlIGNvcm5lciBvZiBhIGVsZW1lbnQgLyBjb21wb25lbnQuXHJcblBvc3NpYmxlIGNsYXNzIGNvbmZpZ3VyYXRpb24gb3B0aW9uczpcclxuLSBPcGFjaXR5IGVudW1lcmF0aW9uICggSGlnaCwgTWVkaXVtLCBMb3cgKVxyXG4tIFBvc2l0aW9uIFRvcCArIEJvdHRvbSBMICYgUiBjb3JuZXJzXHJcblxyXG5Gb3IgYSBkZW1vbnN0cmF0aW9uIGdvIHRvIC9zdGF0aWMvZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXRlc3QuaHRtbFxyXG4qL1xuLmdyYWR1YXRlZC1jb2xvdXItZWRnZSB7XG4gIC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0OiB2YXIoLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodCwgNjBweCk7XG4gIHdpZHRoOiA2MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tMSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTZkZWcpOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tMiB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgzMDBweCArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogLjU2KSkpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTMge1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICBib3R0b206IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMSAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMzsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjY7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMiAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCB7XG4gICAgb3BhY2l0eTogLjM7IH1cbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCArIC5zdGVwIHtcbiAgICAgIG9wYWNpdHk6IC4yOyB9XG4gICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLm9wYWNpdHktMyAuc3RlcCArIC5zdGVwICsgLnN0ZXAge1xuICAgICAgICBvcGFjaXR5OiAuMTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKlxyXG4tLS0tLSBBeGlzIFJpY2ggVGV4dCBFZGl0b3JzIC0tLS0tIFxyXG5CZXNwb2tlIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgd2hlbiBpbnRlcmdyYXRpbmcgd2l0aCB0aGlyZC1wYXJ0eSBlZGl0b3JzLlxyXG5cclxuR2VuZXJhbCBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHRvIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB3aGljaCBpcyB0aGUgY29tbW9uIGNvbnRhaW5lciB0aGF0IGdldHMgdXNlZCBhY3Jvc3MgYWxsIGVkaXRvcnMuXHJcbiovXG4uY2stYm9keS13cmFwcGVyIHtcbiAgei1pbmRleDogMjAyMTsgfVxuICAuY2stYm9keS13cmFwcGVyLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jay1lZGl0b3IgLmNrLWNvbnRlbnQgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcbiAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogI2RhZGFkYTtcbiAgLS1jay1jb2xvci1iYXNlLWVycm9yOiAjYjIwYzBjO1xuICAtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLXRleHQ6ICMwMDAwMDA7IH1cblxuW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG4gIFtkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl06bm90KC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lcikge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSA+IHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jay1zb3VyY2UtZWRpdGluZy1hcmVhIHRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMSAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMSArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygyICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0yICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDMgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTMgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoNCAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNCArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNCAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYyg1ICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC01ICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1ICogMjVweCk7IH1cblxuLypcclxuXHJcbi0tLS0tIFZpZGVvIFBsYXllciAtLS0tXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciBlbWJlZGRpbmcgWW91dHViZSB2aWRlb3MgLyBCYW5uZXIgc2VyaWVzLiAvc3RhdGljL3ZpZGVvLXNlcmllcy5odG1sXHJcblxyXG5IYW5kbGVzOlxyXG4tIFRodW1ibmFpbCBwbGF5IGljb24uXHJcbi0gRHVyYXRpb24gZm9ybWF0dGluZy5cclxuLSBWaWRlbyBpbmRpY2F0b3IgdGV4dCAoIGNsaWNrIGhlcmUgdG8gd2F0Y2ggdmlkZW8gKVxyXG5cclxuKi9cbi52aWRlby1wbGF5ZXItY29udGFpbmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyOmhvdmVyIC5pbWFnZTphZnRlciB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5pbWFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bi1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMCBzb2xpZCB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgJdcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuZHVyYXRpb24tY29udGFpbmVyIC5sYWJlbCwgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgZmxleDogMTsgfSB9XG5cbi8qXHJcbiAgTXVsdGltZWRpYSBFbGVtZW50XHJcbiAgXHJcbiAgSGFuZGxlcyBzdHlsaW5nIGZvciB2aWRlbyBwbGF5YmFja1xyXG5cclxuKi9cbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAc3VwcG9ydHMgbm90ICgtYXBwbGUtcGF5LWJ1dHRvbi1zdHlsZTogaW5oZXJpdCkge1xuICAgIC52aWRlby5pcy1yZWFkeS10by1wbGF5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GLXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC52aWRlby5yZXBsYXktdmlkZW86YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvjaNcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfSB9XG5cbi5zb3VyY2UtdW5zdXBwb3J0ZWQgPiB2aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNvdXJjZS11bnN1cHBvcnRlZCA+IGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtZmFsbGJhY2tdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFsbGJhY2stZWxlbWVudCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5mYWxsYmFjay1lbGVtZW50LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmFsbGJhY2stZWxlbWVudCBpbWcge1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTJweCAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDYsIDI0NiwgMC44KTtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgLmVycm9yLWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IHNwYW4sIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IGRpdiB7XG4gICAgICBncmlkLWNvbHVtbjogMjsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKiwgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKixcbltkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKixcbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9MTEyLjVlbSZ4bGFyZ2U9MTAwZW0meHhsYXJnZT0xMjBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzhjOGM4OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjMzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogcmdiJTI4MTQ5LCAxNDksIDE0OSUyOVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlN2U3OyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwOyB9XG4gIC5jZWxsLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM5NTk1OTU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMjZweDtcbiAgICB0b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjREI2NTFCO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS4xOHJlbTtcbiAgICBoZWlnaHQ6IDEuMThyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzVGN0IyNzsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi40MXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMC42OHJlbTtcbiAgICBoZWlnaHQ6IDAuNjhyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuOTFyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAwLjkzcmVtO1xuICAgIGhlaWdodDogMC45M3JlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuMTZyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDEuNjhyZW07XG4gICAgaGVpZ2h0OiAxLjY4cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi45MXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDYsIDYsIDApO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTMsIDEzLCAxMywgMCk7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMDsgfVxuICB0Ym9keSB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZS5zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4LCA4LCA4LCAwKTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICM1RjdCMjc7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWY3YjI3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM1RjdCMjc7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2OTg4MmI7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogZ3JheTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxMHB4OyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZW51LmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjYWVhZWFlLCAwIDE0cHggMCAjYWVhZWFlOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwMDAwLCAwIDE0cHggMCAjMDAwMDAwO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NTk1OTU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOTU5NTk1LCAwIDE0cHggMCAjOTU5NTk1OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNUY3QjI3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzVGN0IyNztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM1RjdCMjc7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzVGN0IyNyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmRyaWxsZG93biAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNUY3QjI3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM1RjdCMjc7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDExO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLWNsb3NhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDQwMDA7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogNDAwMDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAucG9zaXRpb24tbGVmdCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5wb3NpdGlvbi1yaWdodCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpc2libGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXHJcbi0tLS0tIE1lbnVzIC0tLS0tXHJcblRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzIEkgYW0gc3RpbGwgbWlncmF0aW5nIGZyb20gYSBtYXNzaXZlIGJsb2Igb2YgY29kZSBlbWJlZGRlZCBpbiBoZWFkZXIuc2Nzcy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBEcm9wZG93bnNcclxuLSBEcmlsbCBkb3duc1xyXG4tIEFjY29yZGlvbnNcclxuLSBNZWdhIG1lbnVcclxuICAtIE1lZ2EgbWVudSBzZWUgbW9yZSBsaW5rLlxyXG4gIC0gRUJHIGltYWdlLlxyXG4qL1xuLm1lbnUtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lbnUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICM1RjdCMjc7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0RCNjUxQjtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tZW51LWhlYWRlciAubWVudS1oZWFkaW5nIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxuLm1lbnUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4ubWVudSwgLmRyb3Bkb3duLm1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIsIC5tZW51IC5tZW51LWhlYWRlciwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjpob3ZlciwgLm1lbnUgLm1lbnUtaGVhZGVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lcjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5tZW51IC5tZW51LWhlYWRlciBwLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyIHAsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1lbnUgLmNsb3NlLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAubWVudSA+IGxpLCAuZHJvcGRvd24ubWVudSA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHVsIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAubWVudSA+IGxpID4gdWwgdWwgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHVsIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVudSAjbWVnYS1tZW51LWltYWdlLWNvbnRhaW5lciwgLm1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciwgLmRyb3Bkb3duLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51ID4gbGkgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpID4gYTphZnRlciB7XG4gICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTpob3ZlciA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIgPiBhOmFmdGVyIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6YWN0aXZlID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaTphY3RpdmUgPiBhOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTphZnRlciB7XG4gICAgY29udGVudDogXCLvgbdcIjsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgNXB4OyB9IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bCwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bCB7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBidXR0b246YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBidXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+BuFwiO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdIC5zdWJtZW51LCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICM3YThlNTIpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICM1RjdCMjcpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjphZnRlciwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzVGN0IyNyk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzdhOGU1Mik7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICM1RjdCMjcpOyB9XG4gIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSksIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgIzdhOGU1Mik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzVGN0IyNyk7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjN2E4ZTUyKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICM1RjdCMjcpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzVGN0IyNyk7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjN2E4ZTUyKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICM1RjdCMjcpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzVGN0IyNyk7IH1cbiAgLm1lbnUgbGksIC5kcm9wZG93bi5tZW51IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAubWVudSA+IGxpIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgYSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAubWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDcuNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVweDsgfSB9XG4gICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgfSB9XG4gICAgLm1lbnUgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjNUY3QjI3KTsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsOm5vdCguc3VibWVudSksIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bDpub3QoLnN1Ym1lbnUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW0sIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gICAgICAubWVudSA+IGxpID4gdWwgPiBsaSBhLCAubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaSBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAubWVudS5kcm9wZG93biBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duIGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpLCAuZHJvcGRvd24ubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5tZW51Lm9uLXBhZ2UtbWVudSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDsgfSB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAgaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b24gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgJVcIjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBwYWRkaW5nIDAuOHM7IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUgbGkgPiBhLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51IC5hY2NvdW50LXBhZ2UgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSAuYWNjb3VudC1wYWdlID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogdW5zZXQ7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMjJweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1RjdCMjc7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsOmFmdGVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzk1OTU5NTsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb2xvcjogIzVGN0IyNzsgfSB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNzsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyA3LjVweCkgIWltcG9ydGFudDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIGEgLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzVGN0IyNzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1OyB9IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUsIHVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06aG92ZXI6YmVmb3JlLCB1bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTphY3RpdmU6YmVmb3JlLCB1bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmFjdGl2ZTpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLm1lbnUtc2Nyb2xsLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uc3VibWVudSB7XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogNDAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuc3VibWVudS5sZXZlbDIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzVGN0IyNztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1Ym1lbnUgPiBsaS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1RjdCMjc7IH1cbiAgICAuc3VibWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gbGFzdC1saW5lOyB9IH1cbiAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIge1xuICAtLW1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjFcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBjYWxjKCgxMDAlIC0gMHB4KSAvIDEpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMVwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBjYWxjKCgxMDAlIC0gMTVweCkgLyAyKSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgY2FsYygoMTAwJSAtIDMwcHgpIC8gMykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIGNhbGMoKDEwMCUgLSA0NXB4KSAvIDQpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBjYWxjKCgxMDAlIC0gNjBweCkgLyA1KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDU7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgY2FsYygoMTAwJSAtIDc1cHgpIC8gNikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA2OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIGNhbGMoKDEwMCUgLSA5MHB4KSAvIDcpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNzsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjhcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBjYWxjKCgxMDAlIC0gMTA1cHgpIC8gOCkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI4XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA4OyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IC5zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICBnYXA6IDIwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudSA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBnYXA6IDIwcHggMTVweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSBhOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgbGkubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLm1lbnUgLmhhcy1jbG9uZWQtZ3JvdXBzIGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubWVnYW1lbnUtY29sdW1uLWNsb25lZC1zcGFuIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4tY2xvbmVkLXdyYXApLCAxZnIpO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ2FwOiAwIDE1cHg7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNoaWxkZnJlZS1wYXJlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNvbHVtbi1zcGFubmVkID4gYSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5jbG9uZWQtdG8tc2VwZXJhdGUtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHVsLmFjY291bnQtbWVudSB7XG4gICAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXI6aG92ZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IGEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpOmhvdmVyIC5pbWFnZSB7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpIC5pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgLnBlcnNpc3RlbnQtZWJnLWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgLnBlcnNpc3RlbnQtZWJnLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTUwcHg7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIge1xuICAgIGxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyIGxpIGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiBsaSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMTAwJTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51LCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtaW4td2lkdGg6IGF1dG87IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmxhc3QtY2hpbGQsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMgOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNzsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDE4MDBweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDdweDtcbiAgICAgIHotaW5kZXg6IDUwMDA7XG4gICAgICBib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmU6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNUY3QjI3OyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjREI2NTFCOyB9XG5cbi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjNUY3QjI3O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2biszKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyBhLnN1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgYS5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNUY3QjI3O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgZ2FwOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwLCAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5zbmlwcGV0LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVGN0IyNztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfSB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3Byb2R1Y3QtbGlzdCAjZ3JvdXBEYXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4jcHJvZHVjdExpc3RJdGVtIC5ncmlkLXggLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLmxpc3RpbmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmxpc3RpbmctY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG5cbi5jb250ZW50Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50Q29udGFpbmVyW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDAgMSUgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5jb250ZW50Q29udGFpbmVyIC5hdHRyaWJ1dGVMaXN0IHtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDI0MHB4OyB9IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zIC5zdWItaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXTpudGgtY2hpbGQoZXZlbikgLnJvd0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5zZXBlcmF0b3IpIC5yb3dDb250YWluZXI6aG92ZXIsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5vZGRFdmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMywgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uIGEgaDMge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0ID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDU1JTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucHJpY2UtY29sIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldC1jb2wge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMiU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlIHtcbiAgICAgICAgd2lkdGg6IDklOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm11bHRpbWVkaWEtY29udGVudCBkZXNjcmlwdGlvblwiIFwibXVsdGltZWRpYS1jb250ZW50IGNvZGVcIiBcIm11bHRpbWVkaWEtY29udGVudCBwcmljZVwiIFwibXVsdGltZWRpYS1jb250ZW50IGludGVyYWN0aXZlXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcbiAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLm11bHRpbWVkaWEtY29udGVudCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IGNvZGU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogaW50ZXJhY3RpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lcjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCBoMyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI0RCNjUxQjsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLnNwZWNpZmljYXRpb24gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA0OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDExJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICM1RjdCMjc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi40OTg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDM7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5lbnF1aXJ5LWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiA1OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmFkZC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIgLmFkZFRvQmFza2V0IHtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmZhdm91cml0ZXNDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmZhdm91cml0ZXNDb250YWluZXIge1xuICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1jZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIuNDk4NzVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZSAuY3VycmVuY3kge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmVucXVpcnktY29sIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvcmRlcjogNDsgfVxuXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzVGN0IyNztcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB6LWluZGV4OiA4MDAwMDAwMDAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfSB9XG5cbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc2VydmljZS13b3JrZXItY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEQjY1MUI7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIxXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMyODsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQxLjhweDtcbiAgICAgICAgY29sb3I6ICNiMjBjMjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzQzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDUuNnB4O1xuICAgICAgICBjb2xvcjogI2IyMGM0MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiM1wiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjNWY7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OS40cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzVmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCI0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM3YjsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDUzLjJweDtcbiAgICAgICAgY29sb3I6ICNiMjBjN2I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jYWNoZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhrhcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+EoFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74aIXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75KSXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uc2l0ZS1zdHlsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvlL9cIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzVGN0IyNztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RCNjUxQjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciAubGFiZWwgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgaW5wdXQge1xuICAgICAgZmxleDogMDsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zd2l0Y2gge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLmFjdGl2ZSwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICM1RjdCMjc7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICM3Mzk1MmY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTI6ICM4OGIwMzg7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICM5YWM0NDY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICNhOWNkNjA7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTU6ICNiN2Q1N2I7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNjNWRkOTU7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICNkNGU2YjA7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTg6ICNlMmVlY2E7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmMWY3ZTU7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZjhmYmYyO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICNEQjY1MUI7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTogI2U1NzMyYjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjZTg4MzQzO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICNlYjkyNWE7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNDogI2VlYTI3MjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjZjFiMTg5O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNmM2MxYTE7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNzogI2Y2ZDBiODtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjZjllMGQwO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmY2VmZTc7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTA6ICNmZWY3ZjM7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wOiAjYzAwMDAwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTogI2UwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTI6ICNmZjAxMDE7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zOiAjZmYyMDIwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNDogI2ZmNDA0MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTU6ICNmZjYwNjA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02OiAjZmY4MDgwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNzogI2ZmYTBhMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTg6ICNmZmJmYmY7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05OiAjZmZkZmRmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTA6ICNmZmVmZWY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wOiAjMmI1NzlhO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTogIzMyNjViMjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTI6ICMzYjczYzg7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zOiAjNTQ4NWNmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNDogIzZjOTZkNjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTU6ICM4NWE4ZGQ7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02OiAjOWRiOWU0O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNzogI2I2Y2JlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTg6ICNjZWRjZjE7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05OiAjZTdlZWY4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTA6ICNmM2Y2ZmM7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wOiAjZTViNzAxO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTogI2ZlY2MwNDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTI6ICNmZWQxMjA7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zOiAjZmVkNzNjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNDogI2ZlZGQ1ODtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTU6ICNmZWUyNzQ7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02OiAjZmZlODhmO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNzogI2ZmZWVhYjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTg6ICNmZmY0Yzc7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05OiAjZmZmOWUzO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTA6ICNmZmZjZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wOiAjYTIzNGUzO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTogI2FiNDhlNjtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTI6ICNiNTVkZTk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zOiAjYmU3MWViO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNDogI2M3ODVlZTtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTU6ICNkMTlhZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02OiAjZGFhZWY0O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNzogI2UzYzJmNztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTg6ICNlY2Q2Zjk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05OiAjZjZlYmZjO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTA6ICNmYWY1ZmU7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTA6ICM0ODQ4NDg7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTE6ICM1YjViNWI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTI6ICM2ZDZkNmQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTM6ICM3ZjdmN2Y7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQ6ICM5MTkxOTE7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTU6ICNhNGE0YTQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTY6ICNiNmI2YjY7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTc6ICNjOGM4Yzg7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTg6ICNkYWRhZGE7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTk6ICNlZGVkZWQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZjZmNmY2O1xuICAtLWJsYWNrLWNvbG91cjogIzAwMDAwMDtcbiAgLS13aGl0ZS1jb2xvdXI6ICNmZmZmZmY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTA6ICMxMjgxMWY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTE6ICMxNmExMjc7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTI6ICMxYmMxMmU7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTM6ICMyMGUwMzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTQ6ICM0MGU0NTM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTU6ICM2MGU5NzA7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTY6ICM4MGVkOGM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTc6ICM5ZmYyYTk7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTg6ICNiZmY2YzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTk6ICNkZmZiZTI7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWZmZGYxO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wOiAjZmY1ZTA1O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xOiAjZmY2ZTFlO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmY3ZTM3O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0zOiAjZmY4ZTUwO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy00OiAjZmY5ZTY5O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy01OiAjZmZhZjgyO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy02OiAjZmZiZjliO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy03OiAjZmZjZmI0O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy04OiAjZmZkZmNkO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05OiAjZmZlZmU2O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZmZjdmMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTA6ICNiMjBjMGM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xOiAjZDAwZTBlO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMjogI2VlMTAxMDtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTM6ICNmMTJkMmQ7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy00OiAjZjM0YjRiO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNTogI2Y1Njk2OTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTY6ICNmNzg3ODc7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy03OiAjZjlhNWE1O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtODogI2ZiYzNjMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZGUxZTE7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZlZjBmMDtcbiAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDE4MDBweDtcbiAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4O1xuICAtLXByaW1hcnktZm9udDogT3BlbiBTYW5zLCBPcGVuIFNhbnMgRmFsbGJhY2ssIEFyaWFsO1xuICAtLXNtb290aC1lZGdlcy1lbmFibGVkOiBmYWxzZTtcbiAgLS1zbW9vdGgtZWRnZXMtbGV2ZWw6IDE1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy0xOiA1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy0yOiAyNXB4O1xuICAtLWdsb2JhbC1saW5lLWhlaWdodDogMS42O1xuICAtLXR5cG9ncmFwaHktYm9keS1mb250LWNvbG91cjogIzAwMDAwMDtcbiAgLS1idXR0b25zLWJvcmRlci1yYWRpdXM6IDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2FucyBGYWxsYmFja1wiO1xuICBzcmM6IGxvY2FsKFwiQXJpYWxcIik7XG4gIHNpemUtYWRqdXN0OiAxMDkuMDQlO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDEwNi44OCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDI5LjMlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7IH1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuYm9keS5zY3JvbGxMb2NrIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbm1haW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBtYWluID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gIC5ncmlkLXgge1xuICAgIG1heC13aWR0aDogMTkyMHB4OyB9IH1cblxuLmdyaWQteDpub3QoLmdyaWQtbWFyZ2luLXgpIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmNvbnRhaW5lci1ncm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmdyaWQtY29udGFpbmVyLmNvbnRhaW5lci1ncm93IC5hbGlnbi1jZW50ZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTEyLjQ5ODc1ZW0pIHtcbiAgaHIubW9iaWxlLXNlcGVyYXRvciB7XG4gICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuXG4jZm9vdGVyLWd0bS13aWRnZXQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIHtcbiAgICAjZm9vdGVyLWd0bS13aWRnZXQge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4jZ3JvdXAtYmFubmVyLWNhcm91c2VsLWNvbnRhaW5lciwgLmdyb3VwLWJhbm5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgd2lkdGg6IDE4LjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMi41ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEyLjVlbSkge1xuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiwgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbiNjYXRlZ29yeUhlYWRpbmcsICNwcm9kdWN0TGlzdEhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wb3B1cC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI2Jhc2tldFN1bW1hcnlDb250YWluZXI6aG92ZXIgI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgIzVGN0IyNzsgfVxuXG4jcmVnaXN0ZXItc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogIzVGN0IyNztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIFwiT3BlbiBTYW5zIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjREI2NTFCOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazphY3RpdmUge1xuICAgIGNvbG9yOiAjN2E4ZTUyOyB9XG5cbnhtcCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHdoaXRlLXNwYWNlOiBpbmhlcml0OyB9XG5cbi5hbmltYXRlX19hbmltYXRlZDpub3QoLmFuaW1hdGVkLWNvbnRlbnQtYWN0aXZlKSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTIuNWVtKSB7XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OFXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUY3QjI3OyB9XG4gICAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSwgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC42czsgfVxuIiwiJGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCI7XG4kZW1haWxUZW1wbGF0ZTogZmFsc2U7XG4vKipcclxuXHJcblRoaXMgaXMgdGhlIGJhc2Ugb2YgdGhlIGFwcC5jc3MgZmlsZSwgdG8gbW9kaWZ5IHRoZSBjb25maWd1cmF0aW9uIG90IGEgc2l0ZSBsZXZlbCBnbyB0byAvYnJhbmRpbmcuc2NzcyBpZiB5b3UgbmVlZCBtb2RpZnkgdGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9mIGFsbCBzaXRlcyBnbyB0byAvZ2xvYmFsL3ZhcmlhYmxlcy5zY3NzLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIE5vIEJFU1BPS0UgQ1NTIFJVTEUnUyBzaG91bGQgYmUgc3BlY2lmaWVkIGhlcmUgb3IgaW4gYnJhbmRpbmcuc2NzcywgaWYgeW91IG5lZWQgdG8gbW9kaWZ5IHRoZSBjc3MgZG8gaXQgaW4gZWl0aGVyIC9nbG9iYWwgb3IgaW4gL2NvbXBvbmFudHMgb3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgdGVhcnMsIElGIHlvdSByZWFsbHkgaGF2ZSB0byB0byBpdCBpbiB0aGUgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5zY3NzIHVuZGVyIGFsbCBvZiB0aGUgU0FTUyBvdmVycmlkZXMuXHJcblxyXG4qKi9cclxuXHJcbi8vIC0tLS0tIERlcGVuZGFuY2llcyAtLS0tLVxyXG5cclxuLy8gRXhwcmVzcyBGdW5jdGlvbnMuXHJcbkBpbXBvcnQgJy4uLy4uL2dsb2JhbC9mdW5jdGlvbnMnO1xyXG5cclxuLy8gSW1wb3J0IHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuXHJcbkBpbXBvcnQgJy4vYnJhbmRpbmcnO1xyXG5cclxuLy8gSW1wb3J0IEV4cHJlc3Mgc3R5bGVzaGVldC5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2FwcCc7XHJcbiIsIi8vIFN0YW5kYXJkIGN1c3RvbSBmdW5jdGlvbnMgKCBub3QgZm91bmRhdGlvbidzIGZ1bmN0aW9ucyApIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSB0ZW1wbGF0ZS4gXHJcblxyXG4vLyBWYXJpYWJsZXMgdGhhdCBoYXZlIHRvIGJlIGRlZmluZWQuXHJcbiRicmVha3BvaW50czogbnVsbCAhZGVmYXVsdDtcclxuQGlmICgkYnJlYWtwb2ludHMgPT0gbnVsbCkge1xyXG4gICAgLy8gRmFsbGJhY2suXHJcbiAgICAkYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMzAwcHgsXHJcbiAgICAgICAgeGxhcmdlOiAxNjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTkyMHB4XHJcbiAgICApO1xyXG59XHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIHNsb3dseSBiZWluZyByb2xsZWQgb3V0IGFjcm9zcyBleHByZXNzLlxyXG5cclxuLy8gSGFuZGxlcyBob3cgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgZ2V0IGFwcGxpZWQsIGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCBpcyBzZXQgYnkgZGVmYXVsdCAkc21vb3RoLWVkZ2VzLWxldmVsIGdldHMgdXNlZCBhbmQgaWYgYSAkY3VzdG9tLXZhbHVlIGlzIHBhc3NlZCBpbiB0aGF0IHRha2VzIHByZXNpZGVuY2Ugb3ZlciB0aGUgZGVmYXVsdCB2YWx1ZSB3aGljaCBpcyBzZXQgYnkgJHNtb290aC1lZGdlcy1sZXZlbC5cclxuQGZ1bmN0aW9uIHNtb290aC1lZGdlcygkY3VzdG9tLXZhbHVlOiAwKSB7XHJcbiAgICAvLyBDYW5jZWxsZWQgb3V0IGFsbCBlZmZlY3QuXHJcbiAgICBAaWYgKCRjdXN0b20tdmFsdWUgPT0gZmFsc2UpIHtcclxuICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIEByZXR1cm4gaWYoJGN1c3RvbS12YWx1ZSAhPSAwLCAkY3VzdG9tLXZhbHVlLCAkc21vb3RoLWVkZ2VzLWxldmVsKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkY3VzdG9tLXZhbHVlID09IDAge1xyXG4gICAgICAgICAgICBAcmV0dXJuIDA7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gJGN1c3RvbS12YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0gXHJcblxyXG4vLyBTaW1wbGUgZnVuY3Rpb25zIGZvciBleHRyYWN0aW5nIHZhbHVlcyBiYXNlZCBvbiBicmVha3BvaW50LlxyXG4vLyBNb2JpbGUuXHJcbi8vIEBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICAvLyBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYSBsaXN0IG9yIG1hcC5cclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICAnbGlzdCcge1xyXG4vLyAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDEpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdudW1iZXInIHtcclxuLy8gICAgICAgICBAcmV0dXJuICR2YWx1ZXM7XHJcbi8vICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICBAZGVidWcgXCJGYWlsZWQgdG8gZ2V0IHNtYWxsIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLy8gTWVkaXVtXHJcbi8vIEBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBtZWRpdW0pIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG1lZGl1bSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgoJHZhbHVlcywgc21hbGwpKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBzbWFsbCk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEBkZWJ1ZyBcIkNvdWxkIG5vdCBmaW5kIGEgbWVkaXVtIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBtZWRpdW0gdmFsdWUuXCI7XHJcbi8vICAgICAgICAgQHJldHVybiBmYWxzZTtcclxuLy8gICAgIH1cclxuICAgIFxyXG4vLyB9XHJcbi8vIExhcmdlXHJcbi8vIEBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xyXG4vLyAgICAgICAgIEBpZiBsZW5ndGgoJHZhbHVlcykgPiAyIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMyk7XHJcbi8vICAgICAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDIpO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCR2YWx1ZXMsIGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBsYXJnZSk7XHJcbi8vICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBzbWFsbCkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIGxhcmdlIGtleSBub3IgYSBzbWFsbCBrZXkgZmFsbGJhY2suXCI7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBsYXJnZSB2YWx1ZSwgdmFsdWVzIHBhc3NlZCBhcmUgb2YgdHlwZTogXCIgKyB0eXBlLW9mKCR2YWx1ZXMpO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG5cclxuLy8gU21hbGwgUmVzcG9uc2l2ZSBWYWx1ZXMuXHJcbkBmdW5jdGlvbiBzbWFsbC12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDEpO1xyXG59XHJcblxyXG4vLyBNZWRpdW0gUmVzcG9uc2l2ZSBWYWx2dWUuXHJcbkBmdW5jdGlvbiBtZWRpdW0tdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAyKTtcclxufVxyXG5cclxuLy8gTGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMyk7XHJcbn1cclxuXHJcbi8vIHhMYXJnZSBSZXNwb25zaXZlIFZhbHVlLlxyXG5AZnVuY3Rpb24geGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNCk7XHJcbn1cclxuXHJcbi8vIHh4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHh4bGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCA1KTtcclxufVxyXG5cclxuLypcclxuXHJcbnZhbHVlcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvciBtYXAuXHJcblxyXG5CcmVha3BvaW50IHZhbHVlczpcclxuU21hbGwgPSAxXHJcbk1lZGl1bSA9IDJcclxuTGFyZ2UgPSAzXHJcbnhMYXJnZSA9IDRcclxueHhMYXJnZSA9IDVcclxuXHJcbiovXHJcblxyXG5AZnVuY3Rpb24gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgJGJyZWFrcG9pbnQpIHtcclxuICAgIC8vIElmIHZhbHVlcyBpcyBhIGxpc3QgKCBpLmUgbmVzdGVkIHByZXNldCApXHJcbiAgICBAaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gXCJsaXN0XCIpIHtcclxuICAgICAgICAvLyBVc2luZyB0aGUgYnJlYWtwb2ludCB2YWx1ZSBtYXRjaCBpdCBkbyB0aGUgdmFsdWVzIGluIHRoZSBsaXN0LlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCR2YWx1ZXMpID49ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRicmVha3BvaW50KTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSWYgbm8gYnJlYWtwb2ludCB2YWx1ZSBhc3NpZ25lZCB0aGVuIGZpbmQgbmVhcmVzdCBvbmUuXHJcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIGxlbmd0aCgkdmFsdWVzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAodHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJykge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBicmVha3BvaW50IGlzIGFjdHVhbGx5IGNvbmZpZ3VyZWQuXHJcbiAgICAgICAgQGlmIChsZW5ndGgoJGJyZWFrcG9pbnRzKSA8ICRicmVha3BvaW50KSB7XHJcbiAgICAgICAgICAgIEBlcnJvcihcIkNvbmZpZ3VyZWQgYnJlYWtwb2ludHMgZG9uJ3QgZ28gdXAgdGhhdCBoaWdoICggI3skYnJlYWtwb2ludH0gKSwgcGxlYXNlIGNoZWNrIHRoZSBfc2V0dGluZ3Muc2NzcyBzZWN0aW9uIDIuIEJyZWFrcG9pbnRzIFwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9lcyBkb2VzICR2YWx1ZXMgaGF2ZSBhIGtleSBmb3IgdGhpcyBicmVha3BvaW50P1xyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgJGJyZWFrcG9pbnQpKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gRmluZCBOZWFyZXN0IHZhbHVlLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIGxlbmd0aCgkdmFsdWVzKSkpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgQGVycm9yIFwiRmFpbGVkIHRvIHJldHVybiByZXNwb25zaXZlIHZhbHVlLCB0aGlzIHdhcyBiZWNhdXNlIHRoZSB2YWx1ZXMgd2VyZSBub3QgaW4gYSBtYXAgb3IgbGlzdCwgdGhlIHZhbHVlcyBhc3NpZ25lZCB3ZXJlIG9mIHR5cGUgKCN7dHlwZS1vZigkdmFsdWVzKX0pIGFuZCB0aGUgdmFsdWUgaXMgI3skdmFsdWVzfSwgcGxlYXNlIGNoZWNrIHlvdXIgY29uZmlndXJhdGlvbiBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIGRlZmF1bHQtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgZGVmYXVsdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBob3Zlci1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBob3Zlcik7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBhY3RpdmUtY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgYWN0aXZlKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRpc2FibGVkLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRpc2FibGVkKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCBzaXplLlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXNpemUoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXMsICR0eXBlKTtcclxufVxyXG5cclxuLy8gR2V0IGNvbW1vbiBidXR0b24gZm9udCB3ZWlnaHQuXHJcbkBmdW5jdGlvbiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygkdHlwZTogJ3N0YW5kYWxvbmUnKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIFVzZWQgZm9yIGdldHRpbmcgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0IHZhbHVlcyBmcm9tIGxpc3RzIG5lc3RlZCBpbiBtYXBzIGZvciBwb3NpdGlvbmluZywgbWFyZ2lucyAmIHBhZGRpbmcuXHJcbkBmdW5jdGlvbiBzcGFjaW5nLXZhbHVlKCR2YWx1ZXMsICRzaWRlOiAwLCAka2V5OiBcInNtYWxsXCIpIHtcclxuICAgIC8vIEBpZiAkc2lkZSA+IDQgb3IgJHNpZGUgPCAxIHtcclxuICAgIC8vICAgICBAZGVidWcgXCJzcGFjaW5nLXZhbHVlOiAkc2lkZSBjYW5ub3QgYmUgbGVzcyB0aGF0IDEgb3IgbW9yZSB0aGFuIDRcIjtcclxuICAgIC8vICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfSBcclxuICAgIC8vIFdoYXQgdHlwZSBhcmUgd2UgZGVhbGluZyB3aXRoIGhlcmU/IG1hcChzKSwgbGlzdCBvciBudW1iZXIuXHJcbiAgICAkdmFsdWVzVHlwZTogdHlwZS1vZigkdmFsdWVzKTtcclxuICAgIEBpZigkdmFsdWVzVHlwZSA9PSBcIm1hcFwiKSB7XHJcbiAgICAgICAgQGlmICRrZXkgPT0gXCJzbWFsbFwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogc21hbGwtdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibWVkaXVtXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtZWRpdW0tdmFsdWUoJHZhbHVlcyk7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibGFyZ2VcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IGxhcmdlLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBtYXAtZ2V0KCR2YWx1ZXMsICRrZXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gQXR0ZW1wdGluZyB0byBjYXRlciBmb3Igc2hvcnQgaGFuZCB1c2UuXHJcbiAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMgYW5kICRzaWRlID09IDQge1xyXG4gICAgICAgICRzaWRlOiAyO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiBhbmQgKCRzaWRlID4gMikge1xyXG4gICAgICAgICRzaWRlOiBpZigkc2lkZSA9PSAzLDEsMik7XHJcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAxIHtcclxuICAgICAgICAkc2lkZTogMTtcclxuICAgIH1cclxuICAgICR2YWx1ZTogMDtcclxuICAgIC8vIEZpbmQgdGhlIHZhbHVlIHRoYXQgbWF0Y2hlcyB0aGUgc2lkZS5cclxuICAgIEBpZiAoJHNpZGUgPiAwKSB7XHJcbiAgICAgICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJHNpZGUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gSnVzdCBvdXRwdXQgd2hhdGV2ZXIgaXMgc2V0IGluIGEgc3RyaW5nLlxyXG4gICAgICAgICR2YWx1ZTogJHZhbHVlcztcclxuICAgIH1cclxuICAgIFxyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHItc3BsaXQoJHN0cmluZywgJHNlcGFyYXRvcikge1xyXG4gICAgLy8gZW1wdHkgYXJyYXkvbGlzdFxyXG4gICAgJHNwbGl0LWFycjogKCk7XHJcbiAgICAvLyBmaXJzdCBpbmRleCBvZiBzZXBhcmF0b3IgaW4gc3RyaW5nXHJcbiAgICAkaW5kZXggOiBzdHItaW5kZXgoJHN0cmluZywgJHNlcGFyYXRvcik7XHJcbiAgICAvLyBsb29wIHRocm91Z2ggc3RyaW5nXHJcbiAgICBAd2hpbGUgJGluZGV4ICE9IG51bGwge1xyXG4gICAgICAgIC8vIGdldCB0aGUgc3Vic3RyaW5nIGZyb20gdGhlIGZpcnN0IGNoYXJhY3RlciB0byB0aGUgc2VwYXJhdG9yXHJcbiAgICAgICAgJGl0ZW06IHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKTtcclxuICAgICAgICAvLyBwdXNoIGl0ZW0gdG8gYXJyYXlcclxuICAgICAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJGl0ZW0pO1xyXG4gICAgICAgIC8vIHJlbW92ZSBpdGVtIGFuZCBzZXBhcmF0b3IgZnJvbSBzdHJpbmdcclxuICAgICAgICAkc3RyaW5nOiBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgMSk7XHJcbiAgICAgICAgLy8gZmluZCBuZXcgaW5kZXggb2Ygc2VwYXJhdG9yXHJcbiAgICAgICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgfVxyXG4gICAgLy8gYWRkIHRoZSByZW1haW5pbmcgc3RyaW5nIHRvIGxpc3QgKHRoZSBsYXN0IGl0ZW0pXHJcbiAgICAkc3BsaXQtYXJyOiBhcHBlbmQoJHNwbGl0LWFyciwgJHN0cmluZyk7XHJcblxyXG4gICAgQHJldHVybiAkc3BsaXQtYXJyO1xyXG59XHJcblxyXG4vLyBHZXQgc29jaWFsIGljb24uXHJcbkBmdW5jdGlvbiBzb2NpYWwtaWNvbigkcGxhdGZvcm0pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkc29jaWFsLWljb25zLCAkcGxhdGZvcm0pO1xyXG59XHJcblxyXG4vLyBVc2VkIHRvIGRpc3BsYXkgZGVmYXVsdCBpY29ucyBpZiBubyBzaXRlIHNwZWNpZmMgaWNvbiBoYXMgYmVlbiBkZWZpbmVkLlxyXG5AZnVuY3Rpb24gY3VzdG9tLWljb24tZmFtaWx5KCRkZWZhdWx0LWZvbnQtZmFtaWx5LCAkZW5hYmxlZDogZmFsc2UpIHtcclxuICAgIC8vIElmIGN1c3RvbSBpY29uIGlzIGVuYWJsZWQgYW5kIHRoZSBnbG9iYWwgZmxhZyBpcyBzZXQgdGhlbiBvdXRwdXQgc2l0ZSBzcGVjaWZpYyBmb250IGZhbWlseSwgaWYgJGVuYWJsZWQ9dHJ1ZSBidXQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCBpcyBmYWxzZSB0aGVuIHlvdSBtb3N0IGxpa2VseSBoYXZlIG5vdCBzZXQgdXAgY3VzdG9tIGljb24gZm9udHMgY29ycmVjdGx5LlxyXG4gICAgQGlmICRlbmFibGVkIGFuZCAkc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkIHtcclxuICAgICAgICBAcmV0dXJuICRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHJldHVybiAkZGVmYXVsdC1mb250LWZhbWlseTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVE9ETzogdGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuXHJcbkBmdW5jdGlvbiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXItYSwgJGNvbG91ci1iKSB7XHJcbiAgICBAaWYgKCRjb2xvdXItYSA9PSBudWxsKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1hIGlzIG51bGwgc28gbm90aGluZyB0byBjb21wYXJlIGRlZmF1bHRpbmcgdG8gI3skY29sb3VyMH0gZm9yICN7JHNpdGV9XCI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyMDtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbG91ci1iID09IG51bGwpIHtcclxuICAgICAgICBcclxuICAgICAgICBAZXJyb3IgXCJDb250cmFzdCBDaGVja2VyOiAkY29sb3VyLWIgaXMgbnVsbCBkZWZhdWx0aW5nIHRvICRjb2xvdXItYSBmb3IgI3skc2l0ZX0gLSBcIiAkY29sb3VyLWI7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAkcmF0aW86IGNvbG9yLWNvbnRyYXN0KCRjb2xvdXItYSwgJGNvbG91ci1iKTtcclxuICAgICRtYXRjaGVkLWNvbG91cjogXCJcIjtcclxuICAgIC8vIElmIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgdGhlbiBleGl0LlxyXG4gICAgQGlmICRjb2xvdXItYiA9PSB0cmFuc3BhcmVudCB7XHJcbiAgICAgICAgQHJldHVybiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICAvLyBJZiByYXRpbyBpcyBiZWxvdyB0aHJlc2hvbGQgdGhlbiBmaW5kIGEgZGlmZmVyZW50IGNvbG91ci5cclxuICAgIEBpZiAkcmF0aW8gPCAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgQGRlYnVnICRzaXRlIFwiY29sb3VyXCIgJGNvbG91ci1hIFwiY29udHJhc3QgY29uZmxpY3RzIHdpdGhcIiAkY29sb3VyLWIgXCJhdHRlbXB0aW5nIHRvIGZpbmQgYWx0ZXJuYXRpdmUuXCIgJHJhdGlvOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRmluZCB0aGUgZmlyc3QgY29sb3VyIHRoYXQgaXMgYWJvdmUgdGhlIHJhdGlvIHRocmVzaG9sZC5cclxuICAgICAgICBAZWFjaCAkY29sb3VyIGluICRjb250cmFjdC1jaGVja2VyLWNvbG91ci1mYWxsYmFja3Mge1xyXG4gICAgICAgICAgICBAaWYgY29sb3ItY29udHJhc3QoJGNvbG91ciwgJGNvbG91ci1iKSA+PSAkY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQge1xyXG4gICAgICAgICAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgQGlmICRkZWJ1ZyBhbmQgJGRlYnVnLWxldmVsID09IDIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImFsdGVybmF0aXZlIGZvdW5kISBcIiAkbWF0Y2hlZC1jb2xvdXI7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQHJldHVybiAkY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIElmIHRoZSByYXRpbyBpcyBiZWxvdyB0aGUgdGhyZXNob2xkIHRoZW4gcmV0dXJuICRjb2xvdXItYS5cclxuICAgICAgICAkbWF0Y2hlZC1jb2xvdXI6ICRjb2xvdXItYTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJG1hdGNoZWQtY29sb3VyO1xyXG59XHJcblxyXG4vLyBUbyBjcmVhdGUgYW4gaWdub3JlIGxpc3QgYXMgOm5vdCgpIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgbXVsdGlwbGUgc2VsZWN0b3JzLiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81Njg0MTYwL2Nhbi10aGUtbm90LXBzZXVkby1jbGFzcy1oYXZlLW11bHRpcGxlLWFyZ3VtZW50c1xyXG5AbWl4aW4gbm90KCRpZ25vckxpc3QuLi4pIHtcclxuICAgIC8vaWYgb25seSBhIHNpbmdsZSB2YWx1ZSBnaXZlblxyXG4gICAgQGlmIChsZW5ndGgoJGlnbm9yTGlzdCkgPT0gMSl7XHJcbiAgICAgICAgLy9pdCBpcyBwcm9iYWJseSBhIGxpc3QgdmFyaWFibGUgc28gc2V0IGlnbm9yZSBsaXN0IHRvIHRoZSB2YXJpYWJsZVxyXG4gICAgICAgICRpZ25vckxpc3Q6IG50aCgkaWdub3JMaXN0LDEpO1xyXG4gICAgfVxyXG4gICAgLy9zZXQgdXAgYW4gZW1wdHkgJG5vdE91dHB1dCB2YXJpYWJsZVxyXG4gICAgJG5vdE91dHB1dDogJyc7XHJcbiAgICAvL2ZvciBlYWNoIGl0ZW0gaW4gdGhlIGxpc3RcclxuICAgIEBlYWNoICRub3QgaW4gJGlnbm9yTGlzdCB7XHJcbiAgICAgICAgLy9nZW5lcmF0ZSBhIDpub3QoW2lnbm9yZWRfaXRlbV0pIHNlZ21lbnQgZm9yIGVhY2ggaXRlbSBpbiB0aGUgaWdub3JlIGxpc3QgYW5kIHB1dCB0aGVtIGJhY2sgdG8gYmFja1xyXG4gICAgICAgICRub3RPdXRwdXQ6ICRub3RPdXRwdXQgKyAnOm5vdCgjeyRub3R9KSc7XHJcbiAgICB9XHJcbiAgICAvL291dHB1dCB0aGUgZnVsbCA6bm90KCkgcnVsZSBpbmNsdWRpbmcgYWxsIGlnbm9yZWQgaXRlbXNcclxuICAgICYjeyRub3RPdXRwdXR9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2hlY2sgd2hldGhlciBhIG1hcCBoYXMgYSBrZXkuXHJcbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhcmlhYmxlKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1oYXMta2V5KCRsaXN0LCAkdmFyaWFibGUpO1xyXG59XHJcblxyXG4vLyBHZXQgdHlwb2dyYXBoeSBmb250IGZhbWlseS5cclxuQGZ1bmN0aW9uIGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCRmYW1pbHk6IHByaW1hcnktZm9udCkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgJGZhbWlseSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBNYWtlIGFuIGFzc3VtcHRpb24gdGhhdCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhIHByaW1hcnktZm9udCBkZWZpbmVkLlxyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpIHtcclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsIHByaW1hcnktZm9udCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBlcnJvciBcImdldC1mb250LWZhbWlseTogRmFpbGVkIHRvIGZhbGxiYWNrIHRvIHByaW1hcnktZm9udCBmb3IgI3skc2l0ZX0sIGlzIGl0IGRlZmluZWQ/XCI7XHJcbiAgICAgICAgICAgIEByZXR1cm4gXCJBcmlhbFwiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGVzIGNvbG91ciBwYWxsZXRlIGJhc2VkIG9uIGEgYmFzZSBjb2xvdXIgdGhlbiBsaWdodGVuJ3MgYnkgMTAlIGVhY2ggbGV2ZWwuXHJcbkBmdW5jdGlvbiBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRjb2xvdXIsICRsZXZlbHM6IDkpIHtcclxuICAgIC8vIFdvcmtvdXQgYmFzZSBjb2xvdXIuXHJcbiAgICAkYmFzZS1jb2xvdXI6IG1hcC1nZXQoJGNvbG91ciwgMCk7XHJcbiAgICBAaWYgKCRiYXNlLWNvbG91ciA9PSBudWxsKSB7XHJcbiAgICAgICAgQHJldHVybiAoKTtcclxuICAgIH1cclxuICAgIC8vIENyZWF0ZSBtYXAgdGhhdCBuZXcgY29sb3VycyBnZXQgaGVsZCBpbi5cclxuICAgICRjb2xvdXJzOiAoKTtcclxuICAgIC8vIENyZWF0ZSBuZXcgY29sb3Vycy5cclxuICAgIEBmb3IgJGxldmVsIGZyb20gMSB0aHJvdWdoICRsZXZlbHMge1xyXG4gICAgICAgIC8vIEJ1aWxkIHN0cmVuZ3RoIGJhc2VkIG9uIGNvdW50LlxyXG4gICAgICAgICRzdHJlbmd0aDogcGVyY2VudGFnZSgoJGxldmVsIC8gMTApKTtcclxuICAgICAgICAvLyBPdXRwdXQgQ1NTIHZhcmlhYmxlIHdpdGggbmV3IGxpZ2h0bmVzcy5cclxuICAgICAgICAkbmV3LWNvbG91cjogc2NhbGUtY29sb3IoJGJhc2UtY29sb3VyLCAkbGlnaHRuZXNzOiAkc3RyZW5ndGgpO1xyXG4gICAgICAgIC8vIEFkZCBuZXcgY29sb3VyIHRvIG1hcC5cclxuICAgICAgICAkY29sb3VyczogbWFwLW1lcmdlKCRjb2xvdXJzLCAoJGxldmVsOiAkbmV3LWNvbG91cikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCA5NSUgbGlnaHRuZXNzLCB0aGlzIGlzIHJlcXVpcmVkIGFzIG1vc3Qgc2l0ZXMgcmVxdWlyZSBhIHRvbmUgYmV0d2VlZW4gOTAgfiA5OCUgZm9yIGJ1dHRvbnMsIGhlYWRpbmcgYmFja2dyb3VuZHMgb3IgcGFuZWwgc2hhZGluZyAoIGkuZSBiYXNrZXQgc3VtbWFyeSApLlxyXG4gICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCgkbGV2ZWxzICsgMSk6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogOTUpKSk7XHJcblxyXG4gICAgLy8gUmV0dXJuIG5ldyBjb2xvdXJzLlxyXG4gICAgQHJldHVybiAkY29sb3VycztcclxufSIsIi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXHJcbi8vIFNpdGUgTmFtZS5cclxuJHNpdGU6ICdzdGF0aWMnO1xyXG5cclxuLy8gLS0tLS0gU2V0IEJyYW5kaW5nIC0tLS0tXHJcbi8vIC0tLSBTZXQgQ29sb3VyIFBhbGxldHRlIC0tLSBcclxuJGNvbG91cjQ6ICM1RjdCMjc7XHJcbiRjb2xvdXI2OiAjREI2NTFCO1xyXG5cclxuLy8gSW1wb3J0IGRlZmF1bHQgYnJhbmRpbmcgZ3VpZGVsaW5lcy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2JyYW5kaW5nJztcclxuXHJcbi8vIC0tLS0tIFNBU1Mgb3ZlcnJpZGVzIC0tLS0tXHJcblxyXG4vLyAtLS0tLSBTaXRlIENvbnRlbnQgQ29udGFpbmVyIC0tLS0tXHJcbiRnbG9iYWwtd2lkdGg6IDE4MDBweDtcclxuXHJcbi8vIC0tLS0tIEhlYWRlciAtLS0tLSBcclxuJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4kbG9nby1jb250YWluZXItanVzdGlmeTogY2VudGVyO1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIGxhcmdlOiA0MDBweCxcclxuICAgIG1pbmlmaWVkOiA0NTBweCxcclxuICAgIHNtYWxsOiAxNTBweFxyXG4pO1xyXG4kaGVhZGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbWVkaXVtOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMTBweCAwXHJcbik7XHJcblxyXG4vLyAtLS0tLSBGb290ZXIgLS0tLS0gXHJcbiRmb290ZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMTBweCxcclxuICAgIG1lZGl1bTogMjBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDIwcHggMFxyXG4pOyIsIi8vIC0tLS0tIEJyYW5kaW5nIC0tLS0tXHJcblxyXG4vLyBJZiB0aGVzZSBnbG9iYWwgdmFyaWFibGVzIGFyZSBub3QgYXZhaWxhYmxlIHRoZW4gZGVmYXVsdCB0byB0aGUgZm9sbG93aW5nLCB0aGlzIHdhcyBwdXQgaW4gZHVlIHRvIGEgY29tcGF0aWJpbGl0eSBpc3N1ZSBiZXR3ZWVuIHNhc3MtZXh0cmFjdCBhbmQgc2Fzcy12YXJpYWJsZXMgd2hlbiBjcmVhdGluZyB0aGUgbWFuaWZlc3QgZmlsZXMuXHJcbiRlbWFpbFRlbXBsYXRlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCIgIWRlZmF1bHQ7XHJcblxyXG4kZGVidWc6IGZhbHNlICFkZWZhdWx0O1xyXG4kZGVidWctbGV2ZWw6IDEgIWRlZmF1bHQ7XHJcblxyXG4kc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5OiAnL3RlbXBsYXRlL2NvbnRlbnQvJyArICRlbnZpcm9ubWVudCAhZGVmYXVsdDtcclxuJHNoYXJlZC1pY29ucy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2ltYWdlcy9pY29ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3Rvcnk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJy9jYWxscy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnaGF6YXJkLXN0YXRlbWVudC1pY29ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWJ1dHRvbnMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9pbWFnZXMvYnV0dG9ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvY3NzL3dlYmZvbnRzLycgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gU2l0ZSBjb2xvdXIgcGFsZXR0ZVxyXG4vL1RyYW5zcGFyZW50XHJcbiRjb2xvdXIwOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vV2hpdGVcclxuJGNvbG91cjE6ICNmZmZmZmYgIWRlZmF1bHQ7XHJcblxyXG4vL0JsYWNrXHJcbiRjb2xvdXIyOiAjMDAwMDAwICFkZWZhdWx0O1xyXG5cclxuLy9HcmV5XHJcbiRjb2xvdXIzOiAjZWVlZWVlICFkZWZhdWx0O1xyXG4vL1NMSUdIVExZIERBUktFUiBHUkVZXHJcbi8vJGNvbG91cjMtMTogI2RhZGFkYSAhZGVmYXVsdDtcclxuJGNvbG91cjMtMTogZGFya2VuKCRjb2xvdXIzLCA4JSkgIWRlZmF1bHQ7XHJcbi8vU2xpZ2h0bHkgU2xpZ2h0bHkgRGFya2VyIEdyZXlcclxuLy8kY29sb3VyMy0yOiAjYjJiMmIyICFkZWZhdWx0O1xyXG4kY29sb3VyMy0yOiBkYXJrZW4oJGNvbG91cjMsIDI1JSkgIWRlZmF1bHQ7XHJcbi8vRGFya2VyIEdyZXkgXHJcbi8vJGNvbG91cjMtMzogIzg4ODg4OCAhZGVmYXVsdDtcclxuJGNvbG91cjMtMzogZGFya2VuKCRjb2xvdXIzLCAzNSUpICFkZWZhdWx0O1xyXG4vL1ZlcnkgTGlnaHQgR3JleVxyXG4vLyRjb2xvdXIzLTQ6ICNjZmNmY2YgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTQ6IGRhcmtlbigkY29sb3VyMywgMTUlKSAhZGVmYXVsdDtcclxuLy8gR3JleVxyXG4vLyRjb2xvdXIzLTU6ICNmM2YzZjMgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTU6IGxpZ2h0ZW4oJGNvbG91cjMsIDIlKSAhZGVmYXVsdDtcclxuLy8gRGFyayBHcmV5XHJcbi8vJGNvbG91cjMtNjogIzQ0NDQ0NCAhZGVmYXVsdDtcclxuJGNvbG91cjMtNjogZGFya2VuKCRjb2xvdXIzLCA2NSUpICFkZWZhdWx0O1xyXG4vLyBTbGlnaHRseSBzbGlnaHRseSBkYXJrZXIgZ3JleS5cclxuLy8kY29sb3VyMy03OiAjN2E3YTdhICFkZWZhdWx0O1xyXG4kY29sb3VyMy03OiBkYXJrZW4oJGNvbG91cjMsIDQ1JSkgIWRlZmF1bHQ7XHJcblxyXG4kbmV1dHJhbC1jb2xvdXI6IChcclxuICAgIDA6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJG5ldXRyYWwtY29sb3VyOiBtYXAtbWVyZ2UoJG5ldXRyYWwtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRuZXV0cmFsLWNvbG91cikpO1xyXG5cclxuLy9HcmVlbiBcclxuJGNvbG91cjQ6ICMxMjgxMWYgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktY29sb3VyOiBtYXAtbWVyZ2UoJHByaW1hcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRwcmltYXJ5LWNvbG91cikpO1xyXG4vLyBMSUdIVEVSIEdSRUVOXHJcbi8vJGNvbG91cjQtMTogIzI0Y2ExYyAhZGVmYXVsdDtcclxuJGNvbG91cjQtMTogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAxOSUpLCAxMCUpICFkZWZhdWx0O1xyXG4vLyBEQVJLRVIgR1JFRU4gXHJcbi8vJGNvbG91cjQtMjogIzQxOWE0YyAhZGVmYXVsdDtcclxuJGNvbG91cjQtMjogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAxMiUpLCAyNSUpICFkZWZhdWx0O1xyXG4vLyBQYWxlXHJcbi8vJGNvbG91cjQtMzogIzZhYWQ3MiAhZGVmYXVsdDtcclxuJGNvbG91cjQtMzogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAyMyUpLCA1MCUpICFkZWZhdWx0O1xyXG4vLyBMaWdodGlzaCBQYWxlIEdyZWVuLlxyXG4vLyRjb2xvdXI0LTQ6ICNhOGQzYTYgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTQ6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI0LCA0NSUpLCAtMTAlKSwgNDYlKSAhZGVmYXVsdDtcclxuLy9EQVJLSVNIIFBBTEUgR1JFRU5cclxuLy8kY29sb3VyNC01OiAjNTRhMTVkICFkZWZhdWx0O1xyXG4kY29sb3VyNC01OiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDE4JSksIDM3JSkgIWRlZmF1bHQ7XHJcbi8vIExpZ2h0ICggdmVyeSB3YXNoZWQgb3V0IClcclxuLy8kY29sb3VyNC02OiAjZGNmN2RiICFkZWZhdWx0O1xyXG4kY29sb3VyNC02OiBkZXNhdHVyYXRlKGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNCwgNjMlKSwgLTEwJSksIDIyJSkgIWRlZmF1bHQ7XHJcbi8vIFF1aXRlIGRhcmsuXHJcbi8vJGNvbG91cjQtNzogIzAxODAyYiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNzogc2F0dXJhdGUoYWRqdXN0LWh1ZShkYXJrZW4oJGNvbG91cjQsIDMlKSwgMTMlKSwgMjAlKSAhZGVmYXVsdDtcclxuXHJcbi8vT3JhbmdlXHJcbiRjb2xvdXI2OiAjZmY2ZjIwICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2Vjb25kYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2Vjb25kYXJ5LWNvbG91cikpO1xyXG4vL0RhcmsgT3JhbmdlXHJcbi8vJGNvbG91cjYtMTogI2QxNDYyOCAhZGVmYXVsdDtcclxuJGNvbG91cjYtMTogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNiwgMTIlKSwgLTglKSwgMTAlKSAhZGVmYXVsdDtcclxuLy8gU2xpZ2h0bHkgbGlnaHRlciBvcmFuZ2VcclxuLy8kY29sb3VyNi0yOiAjZmZjNDM5ICFkZWZhdWx0O1xyXG4kY29sb3VyNi0yOiBhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjYsIDYlKSwgMjAlKSAhZGVmYXVsdDtcclxuLy8gVmVyeSBsaWdodCBvcmFuZ2UgYnV0IHNsaWdodGx5IGRhcmtcclxuLy8kY29sb3VyNi0zOiAjZmViNDAxICFkZWZhdWx0O1xyXG4kY29sb3VyNi0zOiBhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNiwgNiUpLCAyMCUpICFkZWZhdWx0O1xyXG4vLyBOb3QgcmVhbGx5IG9yYW5nZSBidXQgZ29pbmcgdG8gcHV0IGl0IGhlcmUgYW55d2F5XHJcbi8vJGNvbG91cjYtMzogI2ZmZjBlYSAhZGVmYXVsdDtcclxuLy8kY29sb3VyNi0yOiBsaWdodGVuKCRjb2xvdXI2LCAzOCUpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMSAtLS1cclxuJGFjY2VudC1jb2xvdXItMTogKFxyXG4gICAgMDogI2MwMDAwMFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0xOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMSwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0xKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAyIC0tLVxyXG4kYWNjZW50LWNvbG91ci0yOiAoXHJcbiAgICAwOiAjMmI1NzlhXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTI6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0yLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTIpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDMgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTM6IChcclxuICAgIDA6ICNlNWI3MDFcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMzogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTMsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMykpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgNCAtLS1cclxuJGFjY2VudC1jb2xvdXItNDogKFxyXG4gICAgMDogI2EyMzRlM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci00OiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItNCwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci00KSk7XHJcblxyXG4vLyBTdWNjZXNzXHJcbiRzdWNjZXNzLWNvbG91cjogKFxyXG4gICAgMDogIzEyODExZlxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1jb2xvdXI6IG1hcC1tZXJnZSgkc3VjY2Vzcy1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHN1Y2Nlc3MtY29sb3VyKSk7XHJcblxyXG4vLyBXYXJuaW5nIFxyXG4kd2FybmluZy1jb2xvdXI6IChcclxuICAgIDA6ICNmZjVlMDVcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctY29sb3VyOiBtYXAtbWVyZ2UoJHdhcm5pbmctY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCR3YXJuaW5nLWNvbG91cikpO1xyXG5cclxuLy8gQWxlcnRcclxuJGFsZXJ0LWNvbG91cjogKFxyXG4gICAgMDogI2IyMGMwY1xyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtY29sb3VyOiBtYXAtbWVyZ2UoJGFsZXJ0LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWxlcnQtY29sb3VyKSk7XHJcblxyXG4vLyRhbGVydC1jb2xvdXI6ICNiMjBjMGMgIWRlZmF1bHQ7XHJcbi8vJGFsZXJ0LWNvbG91ci0xOiAjZmVlN2U3ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBpcyBhIGhhY2sgYW5kIHNob3VsZCB1c2UgZGVwYXJ0bWVudCBjb2xvdXJzLi4uLlxyXG4kZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjogIzY2MzM5OSAhZGVmYXVsdDtcclxuJGRlcGFydG1lbnQtd2ViLWJhc2UtY29sb3VyOiAjNWY3YjI3ICFkZWZhdWx0O1xyXG4kZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyOiAjMzM2Njk5IWRlZmF1bHQ7XHJcblxyXG4vLyBTaXRlIHN0eWxlIGNvbG91ciBvdmVycmlkZXMuXHJcbiRzaXRlLXN0eWxlcy1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEZvbnRzIC0tLS0tIFxyXG4vLyAtLS0gVHlwZ3JhcGhneSAtLS1cclxuLy8gRm9udCBJbXBvcnRzXHJcbiR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQ6IChcclxuICAgIHByaW1hcnktZm9udDogXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCw4MDAmZGlzcGxheT1zd2FwXCIgLy9PcGVuIFNhbnNcclxuKSAhZGVmYXVsdDtcclxuLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmFtaWx5IGltcG9ydGluZyB0aGVtLlxyXG5AZWFjaCAkZm9udC1mYW1pbHksICRsb2NhdGlvbiBpbiAkdHlwb2dyYXBnaHktZm9udC1mYW1pbGllcy1jZG4taW1wb3J0IHtcclxuICAgIEBpbXBvcnQgdXJsKCRsb2NhdGlvbik7XHJcbn1cclxuXHJcbi8vIEZvbnQgQ29uZmlndXJhdGlvbi5cclxuLy8gV2hlbiBwcm92aWRpbmcgYSBmb250IHN0YWNrIGdpdmUgdGhlIGRlc2lyZWQgZm9udCwgdGhlbiB1c2luZyB0aGUgc2Vjb25kIHBhcmFtdGVyIGFzIHRoZSBmYWxsYmFjayBmb3IgdGhhdCBmb250IHdoaWxzdCBpdHMgbG9hZGluZyBpbiAoIGUuZy4gQXJpYWwgb3IgR2VvbG9naWNhICkgYW5kIHRoZW4gXCJBcmlhbFwiIGFzIHRoZSB0aGlyZCBmb3IgYmVsdCBhbmQgYnJhY2VzLlxyXG4kdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IChcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC1mYWxsYmFjay1tZXRyaWNzOiAoXHJcbiAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgZmFsbGJhY2s6ICdBcmlhbCcsXHJcbiAgICAgICAgc2l6ZS1hZGp1c3Q6IDEwOS4wNCUsXHJcbiAgICAgICAgYXNjZW50LW92ZXJyaWRlOiAxMDYuODglLFxyXG4gICAgICAgIGRlc2NlbnQtb3ZlcnJpZGU6IDI5LjMwJSxcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogMCVcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBJY29ucyAtLS1cclxuLy8gRm9udCBBd2Vzb21lLlxyXG4kZm9udEF3ZXNvbWVCcmFuZHM6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWVTb2xpZDogXCJGb250IEF3ZXNvbWUgU29saWRcIiAhZGVmYXVsdDtcclxuJGZvbnRBd2Vzb21lUmVndWxhcjogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiICFkZWZhdWx0O1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWVcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvcmVndWxhclwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWRcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3Y0LXNoaW1zXCI7XHJcblxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIC8vIENvbmZpZ3VyZSB0aGUgcGFnZSBvZiB0aGUgc3RhdGljIGZvbnQgZmlsZXMuXHJcbiAgICAkZmEtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250YXdlc29tZS8nO1xyXG4gICAgLy8gQnJhbmRzIEljb25zXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBCcmFuZHMnO1xyXG4gICAgICAgIHNyYzogdXJsKCRmYS1mb250LXBhdGggKyAnZmEtYnJhbmRzLTQwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtYnJhbmRzLTQwMC50dGYnKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIC8vIFNvbGlkIEljb25zXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAud29mZjInKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtc29saWQtOTAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtc29saWQtOTAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwOyAvLyBUbyBwcmV2ZW50IHNob3dpbmcgaW52aXNpYmxlIGZvbnRzIHdoaWxlIGxvYWRpbmcgY3VzdG9tIGZvbnRzIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZG9jcy9saWdodGhvdXNlL3BlcmZvcm1hbmNlL2ZvbnQtZGlzcGxheS8/dXRtX3NvdXJjZT1saWdodGhvdXNlJnV0bV9tZWRpdW09ZGV2dG9vbHNcclxuICAgIH0gXHJcbiAgICAvLyBSZWd1bGFyIEljb25zIFxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1yZWd1bGFyLTQwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1yZWd1bGFyLTQwMC53b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfSBcclxufVxyXG5cclxuLy8gQ3VzdG9tIGljb25zLlxyXG4vLyBEZWZhdWx0IGV4cHJlc3MgaWNvbiBmb250IGZhbWlseS5cclxuJGV4cHJlc3MtZGVmYXVsdC1pY29uczogJ2ZvbnRlbGxvJyAhZGVmYXVsdDtcclxuJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250ZWxsby1leHByZXNzLyc7XHJcbi8vIERlZmF1bHQgZXhwcmVzcyBpY29ucy5cclxuQGlmIG5vdCAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBzcmM6IHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8uZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLnN2ZycpIGZvcm1hdCgnc3ZnJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9XHJcbn1cclxuLy8gU2l0ZSBzcGVjaWZpYyBpY29ucyBmb250LlxyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1mYW1pbHk6ICdmb250ZWxsby0nICsgJHNpdGUgIWRlZmF1bHQ7XHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aDogJHNoYXJlZC13ZWJmb250cy1kaXJlY3RvcnkgKyAnZm9udGVsbG8tJyArICRzaXRlICsgXCIvXCIgIWRlZmF1bHQ7XHJcbi8vIEdldCBzaXRlIHNwZWNpZmMgaWNvbiBmb250IGZhbWlseS5cclxuQGlmICRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIHNyYzogdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLnN2ZycpIGZvcm1hdCgnc3ZnJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9XHJcbn1cclxuLy8gSWYgZW1haWwgdGVtcGxhdGUgdGhlbiBmb3JjZSBmb250IGZhbWlseSB0byBiZSBPcGVuIFNhbnMgZHVlIG5vdCBiZWluZyBhYmxlIHRvIGluamVjdCBjdXN0b20gZm9udCBmYW1pbGllcyBpbnRvIGVtYWlsIHRlbXBsYXRlcy5cclxuQGlmICRlbWFpbFRlbXBsYXRlIHtcclxuICAgICR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXM6IChcclxuICAgICAgICBwcmltYXJ5LWZvbnQ6IChcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiQXJpYWxcIilcclxuICAgICk7XHJcbn1cclxuXHJcbi8vLS0tIEJvcmRlciBSYWRpdXMgUHJlc2V0cyAtLS1cclxuJGJvcmRlclJhZGl1czE6IDVweCAhZGVmYXVsdDtcclxuJGJvcmRlclJhZGl1czI6ICgkYm9yZGVyUmFkaXVzMSAqIDUpICFkZWZhdWx0O1xyXG5cclxuLy8tLS0gVHJhbnNpdGlvbiBUaW1pbmdzIC0tLVxyXG4kdHJhbnNpdGlvbkludHJvOiAwLjZzICFkZWZhdWx0O1xyXG4kdHJhbnNpdGlvbk91dHJvOiAwLjhzICFkZWZhdWx0O1xyXG5cclxuLy8tLS0gS25vY2tiYWNrIFByZXNldHMgLS0tXHJcbiRrbm9ja0JhY2sxOiAwLjYgIWRlZmF1bHQ7XHJcbiRrbm9ja0JhY2syOiAwLjkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBCb3ggU2hhZG93cyAtLS1cclxuJGJveFNoYWRvdzE6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSkgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3cyOiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93MzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzQ6IDJweCAtM3B4IDIwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgOSUpICFkZWZhdWx0OyIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhYixcbi4jeyRmYS1jc3MtcHJlZml4fS1icmFuZHMge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZWFjaCAkbmFtZSwgJGljb24gaW4gJGZhLWJyYW5kLWljb25zIHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LSN7JG5hbWV9OmJlZm9yZSB7IGNvbnRlbnQ6IHVucXVvdGUoXCJcXFwiI3sgJGljb24gfVxcXCJcIik7IH1cbn1cbiIsIi8vIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWNzcy1wcmVmaXggICAgICAgICAgOiBmYSAhZGVmYXVsdDtcbiRmYS1zdHlsZSAgICAgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJGZhLXN0eWxlLWZhbWlseSAgICAgICAgOiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiAhZGVmYXVsdDtcblxuJGZhLWRpc3BsYXkgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG5cbiRmYS1mdy13aWR0aCAgICAgICAgICAgIDogZmEtZGl2aWRlKDIwZW0sIDE2KSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcblxuJGZhLWJvcmRlci1jb2xvciAgICAgICAgOiAjZWVlICFkZWZhdWx0O1xuJGZhLWJvcmRlci1wYWRkaW5nICAgICAgOiAuMmVtIC4yNWVtIC4xNWVtICFkZWZhdWx0O1xuJGZhLWJvcmRlci1yYWRpdXMgICAgICAgOiAuMWVtICFkZWZhdWx0O1xuJGZhLWJvcmRlci1zdHlsZSAgICAgICAgOiBzb2xpZCAhZGVmYXVsdDtcbiRmYS1ib3JkZXItd2lkdGggICAgICAgIDogLjA4ZW0gIWRlZmF1bHQ7XG5cbiRmYS1zaXplLXNjYWxlLTJ4cyAgICAgIDogMTAgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS14cyAgICAgICA6IDEyICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtc20gICAgICAgOiAxNCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLWJhc2UgICAgIDogMTYgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1sZyAgICAgICA6IDIwICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUteGwgICAgICAgOiAyNCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLTJ4bCAgICAgIDogMzIgIWRlZmF1bHQ7XG5cbiRmYS1zaXplczogKFxuICBcIjJ4c1wiICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLTJ4cyxcbiAgXCJ4c1wiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS14cyxcbiAgXCJzbVwiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS1zbSxcbiAgXCJsZ1wiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS1sZyxcbiAgXCJ4bFwiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS14bCxcbiAgXCIyeGxcIiAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS0yeGxcbikgIWRlZmF1bHQ7XG5cbiRmYS1saS13aWR0aCAgICAgICAgICAgIDogMmVtICFkZWZhdWx0O1xuJGZhLWxpLW1hcmdpbiAgICAgICAgICAgOiAkZmEtbGktd2lkdGggKiBmYS1kaXZpZGUoNSwgNCkgIWRlZmF1bHQ7XG5cbiRmYS1wdWxsLW1hcmdpbiAgICAgICAgIDogLjNlbSAhZGVmYXVsdDtcblxuJGZhLXByaW1hcnktb3BhY2l0eSAgICAgOiAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5ICAgOiAuNCAhZGVmYXVsdDtcblxuJGZhLXN0YWNrLXZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWRlZmF1bHQ7XG4kZmEtc3RhY2std2lkdGggICAgICAgICA6ICgkZmEtZnctd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRmYS1zdGFjay16LWluZGV4ICAgICAgIDogYXV0byAhZGVmYXVsdDtcblxuJGZhLWZvbnQtZGlzcGxheSAgICAgICAgOiBibG9jayAhZGVmYXVsdDtcbiRmYS1mb250LXBhdGggICAgICAgICAgIDogXCIuLi93ZWJmb250c1wiICFkZWZhdWx0O1xuXG4kZmEtdmFyLTA6IFxcMzA7XG4kZmEtdmFyLTE6IFxcMzE7XG4kZmEtdmFyLTI6IFxcMzI7XG4kZmEtdmFyLTM6IFxcMzM7XG4kZmEtdmFyLTQ6IFxcMzQ7XG4kZmEtdmFyLTU6IFxcMzU7XG4kZmEtdmFyLTY6IFxcMzY7XG4kZmEtdmFyLTc6IFxcMzc7XG4kZmEtdmFyLTg6IFxcMzg7XG4kZmEtdmFyLTk6IFxcMzk7XG4kZmEtdmFyLWZpbGwtZHJpcDogXFxmNTc2O1xuJGZhLXZhci1hcnJvd3MtdG8tY2lyY2xlOiBcXGU0YmQ7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWF0OiBcXDQwO1xuJGZhLXZhci10cmFzaC1jYW46IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtYWx0OiBcXGYyZWQ7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXVzZXIteG1hcms6IFxcZjIzNTtcbiRmYS12YXItdXNlci10aW1lczogXFxmMjM1O1xuJGZhLXZhci1zdGV0aG9zY29wZTogXFxmMGYxO1xuJGZhLXZhci1tZXNzYWdlOiBcXGYyN2E7XG4kZmEtdmFyLWNvbW1lbnQtYWx0OiBcXGYyN2E7XG4kZmEtdmFyLWluZm86IFxcZjEyOTtcbiRmYS12YXItZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXI6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYWx0OiBcXGY0MjI7XG4kZmEtdmFyLWV4cGxvc2lvbjogXFxlNGU5O1xuJGZhLXZhci1maWxlLWxpbmVzOiBcXGYxNWM7XG4kZmEtdmFyLWZpbGUtYWx0OiBcXGYxNWM7XG4kZmEtdmFyLWZpbGUtdGV4dDogXFxmMTVjO1xuJGZhLXZhci13YXZlLXNxdWFyZTogXFxmODNlO1xuJGZhLXZhci1yaW5nOiBcXGY3MGI7XG4kZmEtdmFyLWJ1aWxkaW5nLXVuOiBcXGU0ZDk7XG4kZmEtdmFyLWRpY2UtdGhyZWU6IFxcZjUyNztcbiRmYS12YXItY2FsZW5kYXItZGF5czogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1hbHQ6IFxcZjA3MztcbiRmYS12YXItYW5jaG9yLWNpcmNsZS1jaGVjazogXFxlNGFhO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZTRkMTtcbiRmYS12YXItdm9sbGV5YmFsbDogXFxmNDVmO1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItYXJyb3dzLXVwLXRvLWxpbmU6IFxcZTRjMjtcbiRmYS12YXItc29ydC1kb3duOiBcXGYwZGQ7XG4kZmEtdmFyLXNvcnQtZGVzYzogXFxmMGRkO1xuJGZhLXZhci1jaXJjbGUtbWludXM6IFxcZjA1NjtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcXGYwNTY7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1yaWdodC1mcm9tLWJyYWNrZXQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbi1vdXQtYWx0OiBcXGYyZjU7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItc29hcDogXFxlMDZlO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1oZWFydC1tdXNpYy1jYW1lcmEtYm9sdDogXFxmODZkO1xuJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLXNsYXNoOiBcXGY1Mzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoOiBcXGY1Mzk7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUtY2hlY2s6IFxcZTRjOTtcbiRmYS12YXItcHVtcC1tZWRpY2FsOiBcXGUwNmE7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbjogXFxmNjg5O1xuJGZhLXZhci1zZWFyY2gtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItZm9yd2FyZC1zdGVwOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXAtZm9yd2FyZDogXFxmMDUxO1xuJGZhLXZhci1mYWNlLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mb290YmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb290YmFsbC1iYWxsOiBcXGY0NGU7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU2YztcbiRmYS12YXItY3JvcDogXFxmMTI1O1xuJGZhLXZhci1hbmdsZXMtZG93bjogXFxmMTAzO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXFxmMTAzO1xuJGZhLXZhci11c2Vycy1yZWN0YW5nbGU6IFxcZTU5NDtcbiRmYS12YXItcGVvcGxlLXJvb2Y6IFxcZTUzNztcbiRmYS12YXItcGVvcGxlLWxpbmU6IFxcZTUzNDtcbiRmYS12YXItYmVlci1tdWctZW1wdHk6IFxcZjBmYztcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1kaWFncmFtLXByZWRlY2Vzc29yOiBcXGU0Nzc7XG4kZmEtdmFyLWFycm93LXVwLWxvbmc6IFxcZjE3NjtcbiRmYS12YXItbG9uZy1hcnJvdy11cDogXFxmMTc2O1xuJGZhLXZhci1maXJlLWZsYW1lLXNpbXBsZTogXFxmNDZhO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLXBlcnNvbjogXFxmMTgzO1xuJGZhLXZhci1tYWxlOiBcXGYxODM7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1maWxlLWNzdjogXFxmNmRkO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLXRydWNrLXBsYW5lOiBcXGU1OGY7XG4kZmEtdmFyLXJlY29yZC12aW55bDogXFxmOGQ5O1xuJGZhLXZhci1mYWNlLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ib25nOiBcXGY1NWM7XG4kZmEtdmFyLXNwYWdoZXR0aS1tb25zdGVyLWZseWluZzogXFxmNjdiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1hcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lOiBcXGU0YWY7XG4kZmEtdmFyLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItamFyLXdoZWF0OiBcXGU1MTc7XG4kZmEtdmFyLWVudmVsb3Blcy1idWxrOiBcXGY2NzQ7XG4kZmEtdmFyLW1haWwtYnVsazogXFxmNjc0O1xuJGZhLXZhci1maWxlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGViO1xuJGZhLXZhci1jaXJjbGUtaDogXFxmNDdlO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItYWRkcmVzcy1ib29rOiBcXGYyYjk7XG4kZmEtdmFyLWNvbnRhY3QtYm9vazogXFxmMmI5O1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcXGYwY2M7XG4kZmEtdmFyLWs6IFxcNGI7XG4kZmEtdmFyLWxhbmRtYXJrLWZsYWc6IFxcZTUxYztcbiRmYS12YXItcGVuY2lsOiBcXGYzMDM7XG4kZmEtdmFyLXBlbmNpbC1hbHQ6IFxcZjMwMztcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY29tbWVudHM6IFxcZjA4NjtcbiRmYS12YXItcGFzdGU6IFxcZjBlYTtcbiRmYS12YXItZmlsZS1jbGlwYm9hcmQ6IFxcZjBlYTtcbiRmYS12YXItY29kZS1wdWxsLXJlcXVlc3Q6IFxcZTEzYztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItdHJ1Y2stcmFtcC1ib3g6IFxcZjRkZTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXZpYWwtdmlydXM6IFxcZTU5NztcbiRmYS12YXItc2hlZXQtcGxhc3RpYzogXFxlNTcxO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItcGVyc29uLWFycm93LXVwLWZyb20tbGluZTogXFxlNTM5O1xuJGZhLXZhci1zY3JvbGwtdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItYnJvb20tYmFsbDogXFxmNDU4O1xuJGZhLXZhci1xdWlkZGl0Y2g6IFxcZjQ1ODtcbiRmYS12YXItcXVpZGRpdGNoLWJyb29tLWJhbGw6IFxcZjQ1ODtcbiRmYS12YXItdG9nZ2xlLW9mZjogXFxmMjA0O1xuJGZhLXZhci1ib3gtYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLXBlcnNvbi1kcm93bmluZzogXFxlNTQ1O1xuJGZhLXZhci1hcnJvdy1kb3duLTktMTogXFxmODg2O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXFxmODg2O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQ6IFxcZjg4NjtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50OiBcXGY1OGE7XG4kZmEtdmFyLXNwcmF5LWNhbjogXFxmNWJkO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXc6IFxcNTc7XG4kZmEtdmFyLWVhcnRoLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItcmFpbmJvdzogXFxmNzViO1xuJGZhLXZhci1jaXJjbGUtbm90Y2g6IFxcZjFjZTtcbiRmYS12YXItdGFibGV0LXNjcmVlbi1idXR0b246IFxcZjNmYTtcbiRmYS12YXItdGFibGV0LWFsdDogXFxmM2ZhO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItdHJvd2VsLWJyaWNrczogXFxlNThhO1xuJGZhLXZhci1mYWNlLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx1c2hlZDogXFxmNTc5O1xuJGZhLXZhci1ob3NwaXRhbC11c2VyOiBcXGY4MGQ7XG4kZmEtdmFyLXRlbnQtYXJyb3ctbGVmdC1yaWdodDogXFxlNTdmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1sZWdhbDogXFxmMGUzO1xuJGZhLXZhci1iaW5vY3VsYXJzOiBcXGYxZTU7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFxcZjEzMTtcbiRmYS12YXItYm94LXRpc3N1ZTogXFxlMDViO1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLWJlbGwtY29uY2llcmdlOiBcXGY1NjI7XG4kZmEtdmFyLWNvbmNpZXJnZS1iZWxsOiBcXGY1NjI7XG4kZmEtdmFyLXBlbi1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVvcGxlLWFycm93czogXFxlMDY4O1xuJGZhLXZhci1wZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHQ6IFxcZTA2ODtcbiRmYS12YXItbWFycy1hbmQtdmVudXMtYnVyc3Q6IFxcZTUyMztcbiRmYS12YXItc3F1YXJlLWNhcmV0LXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1zY2lzc29yczogXFxmMGM0O1xuJGZhLXZhci1jdXQ6IFxcZjBjNDtcbiRmYS12YXItc3VuLXBsYW50LXdpbHQ6IFxcZTU3YTtcbiRmYS12YXItdG9pbGV0cy1wb3J0YWJsZTogXFxlNTg0O1xuJGZhLXZhci1ob2NrZXktcHVjazogXFxmNDUzO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0OiBcXGU1MjE7XG4kZmEtdmFyLXRhY2hvZ3JhcGgtZGlnaXRhbDogXFxmNTY2O1xuJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGg6IFxcZjU2NjtcbiRmYS12YXItdXNlcnMtc2xhc2g6IFxcZTA3MztcbiRmYS12YXItY2xvdmVyOiBcXGUxMzk7XG4kZmEtdmFyLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLW1haWwtcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItaG91c2UtZmlyZTogXFxlNTBjO1xuJGZhLXZhci1zcXVhcmUtbWludXM6IFxcZjE0NjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcXGYxNDY7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtZG93bjogXFxmMTUwO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bjogXFxmMTUwO1xuJGZhLXZhci1maWxlLWNpcmNsZS1xdWVzdGlvbjogXFxlNGVmO1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1zd2F0Y2hib29rOiBcXGY1YzM7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGU6IFxcZjQ4NTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1uYXZpY29uOiBcXGYwYzk7XG4kZmEtdmFyLXBlb3BsZS1ncm91cDogXFxlNTMzO1xuJGZhLXZhci1ob3VyZ2xhc3MtZW5kOiBcXGYyNTM7XG4kZmEtdmFyLWhvdXJnbGFzcy0zOiBcXGYyNTM7XG4kZmEtdmFyLWhlYXJ0LWNyYWNrOiBcXGY3YTk7XG4kZmEtdmFyLWhlYXJ0LWJyb2tlbjogXFxmN2E5O1xuJGZhLXZhci1zcXVhcmUtdXAtcmlnaHQ6IFxcZjM2MDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWZhY2Uta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1maWxtOiBcXGYwMDg7XG4kZmEtdmFyLXJ1bGVyLWhvcml6b250YWw6IFxcZjU0NztcbiRmYS12YXItcGVvcGxlLXJvYmJlcnk6IFxcZTUzNjtcbiRmYS12YXItbGlnaHRidWxiOiBcXGYwZWI7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXFxmMDZhO1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLXhtYXJrOiBcXGU1NmQ7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tYnJhY2tldDogXFxmMDhiO1xuJGZhLXZhci1zaWduLW91dDogXFxmMDhiO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1kb3duOiBcXGYxM2E7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItdW5sb2NrLWtleWhvbGU6IFxcZjEzZTtcbiRmYS12YXItdW5sb2NrLWFsdDogXFxmMTNlO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5OiBcXGY3NDA7XG4kZmEtdmFyLWhlYWRwaG9uZXMtc2ltcGxlOiBcXGY1OGY7XG4kZmEtdmFyLWhlYWRwaG9uZXMtYWx0OiBcXGY1OGY7XG4kZmEtdmFyLXNpdGVtYXA6IFxcZjBlODtcbiRmYS12YXItY2lyY2xlLWRvbGxhci10by1zbG90OiBcXGY0Yjk7XG4kZmEtdmFyLWRvbmF0ZTogXFxmNGI5O1xuJGZhLXZhci1tZW1vcnk6IFxcZjUzODtcbiRmYS12YXItcm9hZC1zcGlrZXM6IFxcZTU2ODtcbiRmYS12YXItZmlyZS1idXJuZXI6IFxcZTRmMTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1oYW51a2lhaDogXFxmNmU2O1xuJGZhLXZhci1mZWF0aGVyOiBcXGY1MmQ7XG4kZmEtdmFyLXZvbHVtZS1sb3c6IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItY29tbWVudC1zbGFzaDogXFxmNGIzO1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci13aGVhdC1hd246IFxcZTJjZDtcbiRmYS12YXItd2hlYXQtYWx0OiBcXGUyY2Q7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItaGFuZHMtaG9sZGluZy1jaGlsZDogXFxlNGZhO1xuJGZhLXZhci1hc3RlcmlzazogXFwyYTtcbiRmYS12YXItc3F1YXJlLWNoZWNrOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXFxmMTRhO1xuJGZhLXZhci1wZXNldGEtc2lnbjogXFxlMjIxO1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRlcjogXFxmMWRjO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3Qtc3F1YXJlczogXFxmMDNhO1xuJGZhLXZhci1zcXVhcmUtcGhvbmUtZmxpcDogXFxmODdiO1xuJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0OiBcXGY4N2I7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1nYW1lcGFkOiBcXGYxMWI7XG4kZmEtdmFyLWNpcmNsZS1kb3Q6IFxcZjE5MjtcbiRmYS12YXItZG90LWNpcmNsZTogXFxmMTkyO1xuJGZhLXZhci1mYWNlLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWVnZzogXFxmN2ZiO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyazogXFxlNTEzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWZvbGRlci1wbHVzOiBcXGY2NWU7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1mdXRib2wtYmFsbDogXFxmMWUzO1xuJGZhLXZhci1zb2NjZXItYmFsbDogXFxmMWUzO1xuJGZhLXZhci1wYWludGJydXNoOiBcXGYxZmM7XG4kZmEtdmFyLXBhaW50LWJydXNoOiBcXGYxZmM7XG4kZmEtdmFyLWxvY2s6IFxcZjAyMztcbiRmYS12YXItZ2FzLXB1bXA6IFxcZjUyZjtcbiRmYS12YXItaG90LXR1Yi1wZXJzb246IFxcZjU5MztcbiRmYS12YXItaG90LXR1YjogXFxmNTkzO1xuJGZhLXZhci1tYXAtbG9jYXRpb246IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZDogXFxmNTlmO1xuJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlcjogXFxlNTBlO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLWJyaWRnZS1sb2NrOiBcXGU0Y2M7XG4kZmEtdmFyLXNhY2stZG9sbGFyOiBcXGY4MWQ7XG4kZmEtdmFyLXBlbi10by1zcXVhcmU6IFxcZjA0NDtcbiRmYS12YXItZWRpdDogXFxmMDQ0O1xuJGZhLXZhci1jYXItc2lkZTogXFxmNWU0O1xuJGZhLXZhci1zaGFyZS1ub2RlczogXFxmMWUwO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFxcZjFlMDtcbiRmYS12YXItaGVhcnQtY2lyY2xlLW1pbnVzOiBcXGU0ZmY7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcXGYyNTI7XG4kZmEtdmFyLWhvdXJnbGFzcy0yOiBcXGYyNTI7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItc2luazogXFxlMDZkO1xuJGZhLXZhci1iYWctc2hvcHBpbmc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcXGYyOTA7XG4kZmEtdmFyLWFycm93LWRvd24tei1hOiBcXGY4ODE7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzogXFxmODgxO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0OiBcXGY4ODE7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1wZXJzb24tcmF5czogXFxlNTRkO1xuJGZhLXZhci11c2VyczogXFxmMGMwO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmxhc2stdmlhbDogXFxlNGYzO1xuJGZhLXZhci1oYW5kOiBcXGYyNTY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItb206IFxcZjY3OTtcbiRmYS12YXItd29ybTogXFxlNTk5O1xuJGZhLXZhci1ob3VzZS1jaXJjbGUteG1hcms6IFxcZTUwYjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWhhbmQtc3BvY2s6IFxcZjI1OTtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLWZhY2Uta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUteG1hcms6IFxcZTRjYjtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItZmFjZS1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZ3Jpbi13aW5rOiBcXGY1OGM7XG4kZmEtdmFyLWVhci1kZWFmOiBcXGYyYTQ7XG4kZmEtdmFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVhZm5lc3M6IFxcZjJhNDtcbiRmYS12YXItaGFyZC1vZi1oZWFyaW5nOiBcXGYyYTQ7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLWNoZWNrOiBcXGU1NjQ7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1zcXVhcmUtcnNzOiBcXGYxNDM7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFxcZjE0MztcbiRmYS12YXItbGFuZC1taW5lLW9uOiBcXGU1MWI7XG4kZmEtdmFyLWktY3Vyc29yOiBcXGYyNDY7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YWlyczogXFxlMjg5O1xuJGZhLXZhci1pOiBcXDQ5O1xuJGZhLXZhci1ocnl2bmlhLXNpZ246IFxcZjZmMjtcbiRmYS12YXItaHJ5dm5pYTogXFxmNmYyO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1mYWNlLWdyaW4td2lkZTogXFxmNTgxO1xuJGZhLXZhci1ncmluLWFsdDogXFxmNTgxO1xuJGZhLXZhci10b290aDogXFxmNWM5O1xuJGZhLXZhci12OiBcXDU2O1xuJGZhLXZhci1iYW5nbGFkZXNoaS10YWthLXNpZ246IFxcZTJlNjtcbiRmYS12YXItYmljeWNsZTogXFxmMjA2O1xuJGZhLXZhci1zdGFmZi1zbmFrZTogXFxlNTc5O1xuJGZhLXZhci1yb2QtYXNjbGVwaXVzOiBcXGU1Nzk7XG4kZmEtdmFyLXJvZC1zbmFrZTogXFxlNTc5O1xuJGZhLXZhci1zdGFmZi1hZXNjdWxhcGl1czogXFxlNTc5O1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2g6IFxcZTA2MjtcbiRmYS12YXItdHJ1Y2stbWVkaWNhbDogXFxmMGY5O1xuJGZhLXZhci1hbWJ1bGFuY2U6IFxcZjBmOTtcbiRmYS12YXItd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTk4O1xuJGZhLXZhci1zbm93bWFuOiBcXGY3ZDA7XG4kZmEtdmFyLW1vcnRhci1wZXN0bGU6IFxcZjVhNztcbiRmYS12YXItcm9hZC1iYXJyaWVyOiBcXGU1NjI7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1pZ2xvbzogXFxmN2FlO1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1hbmdsZS1yaWdodDogXFxmMTA1O1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1xOiBcXDUxO1xuJGZhLXZhci1nOiBcXDQ3O1xuJGZhLXZhci1ub3Rlcy1tZWRpY2FsOiBcXGY0ODE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItdGVtcGVyYXR1cmUtMjogXFxmMmM5O1xuJGZhLXZhci10aGVybW9tZXRlci0yOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItZG9uZy1zaWduOiBcXGUxNjk7XG4kZmEtdmFyLWNhcHN1bGVzOiBcXGY0NmI7XG4kZmEtdmFyLXBvby1zdG9ybTogXFxmNzVhO1xuJGZhLXZhci1wb28tYm9sdDogXFxmNzVhO1xuJGZhLXZhci1mYWNlLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnJvd24tb3BlbjogXFxmNTdhO1xuJGZhLXZhci1oYW5kLXBvaW50LXVwOiBcXGYwYTY7XG4kZmEtdmFyLW1vbmV5LWJpbGw6IFxcZjBkNjtcbiRmYS12YXItYm9va21hcms6IFxcZjAyZTtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci11bWJyZWxsYS1iZWFjaDogXFxmNWNhO1xuJGZhLXZhci1oZWxtZXQtdW46IFxcZTUwMztcbiRmYS12YXItYnVsbHNleWU6IFxcZjE0MDtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItaGFuZC1wb2ludC1kb3duOiBcXGYwYTc7XG4kZmEtdmFyLWFycm93LXVwLWZyb20tYnJhY2tldDogXFxlMDlhO1xuJGZhLXZhci1mb2xkZXI6IFxcZjA3YjtcbiRmYS12YXItZm9sZGVyLWJsYW5rOiBcXGYwN2I7XG4kZmEtdmFyLWZpbGUtd2F2ZWZvcm06IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1tZWRpY2FsLWFsdDogXFxmNDc4O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItY2hhcnQtc2ltcGxlOiBcXGU0NzM7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcXGYyMjk7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItZ2F1Z2U6IFxcZjYyNDtcbiRmYS12YXItZGFzaGJvYXJkOiBcXGY2MjQ7XG4kZmEtdmFyLWdhdWdlLW1lZDogXFxmNjI0O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlOiBcXGY2MjQ7XG4kZmEtdmFyLXdhbmQtbWFnaWMtc3BhcmtsZXM6IFxcZTJjYTtcbiRmYS12YXItbWFnaWMtd2FuZC1zcGFya2xlczogXFxlMmNhO1xuJGZhLXZhci1lOiBcXDQ1O1xuJGZhLXZhci1wZW4tY2xpcDogXFxmMzA1O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRjYTtcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLWNoZWNrOiBcXGU1NmI7XG4kZmEtdmFyLWR1bXBzdGVyOiBcXGY3OTM7XG4kZmEtdmFyLXZhbi1zaHV0dGxlOiBcXGY1YjY7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLWJ1aWxkaW5nLXVzZXI6IFxcZTRkYTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXIta2V5OiBcXGYwODQ7XG4kZmEtdmFyLWJ1bGxob3JuOiBcXGYwYTE7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLXN5bmFnb2d1ZTogXFxmNjliO1xuJGZhLXZhci1wZXJzb24taGFsZi1kcmVzczogXFxlNTQ4O1xuJGZhLXZhci1yb2FkLWJyaWRnZTogXFxlNTYzO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1jOiBcXDQzO1xuJGZhLXZhci10YWJsZXQtYnV0dG9uOiBcXGYxMGE7XG4kZmEtdmFyLWJ1aWxkaW5nLWxvY2s6IFxcZTRkNjtcbiRmYS12YXItcGl6emEtc2xpY2U6IFxcZjgxODtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlOiBcXGY1M2E7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItYXJlYS1jaGFydDogXFxmMWZlO1xuJGZhLXZhci1ob3VzZS1mbGFnOiBcXGU1MGQ7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtbWludXM6IFxcZTU0MDtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWNhbmNlbDogXFxmMDVlO1xuJGZhLXZhci1jYW1lcmEtcm90YXRlOiBcXGUwZDg7XG4kZmEtdmFyLXNwcmF5LWNhbi1zcGFya2xlczogXFxmNWQwO1xuJGZhLXZhci1haXItZnJlc2hlbmVyOiBcXGY1ZDA7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItcmVwZWF0OiBcXGYzNjM7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci12ZW51cy1tYXJzOiBcXGYyMjg7XG4kZmEtdmFyLWFycm93LXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbW91c2UtcG9pbnRlcjogXFxmMjQ1O1xuJGZhLXZhci1tYXhpbWl6ZTogXFxmMzFlO1xuJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdDogXFxmMzFlO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLXNoYXBlczogXFxmNjFmO1xuJGZhLXZhci10cmlhbmdsZS1jaXJjbGUtc3F1YXJlOiBcXGY2MWY7XG4kZmEtdmFyLXNodWZmbGU6IFxcZjA3NDtcbiRmYS12YXItcmFuZG9tOiBcXGYwNzQ7XG4kZmEtdmFyLXBlcnNvbi1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItbW9iaWxlLXJldHJvOiBcXGU1Mjc7XG4kZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWw6IFxcZjdhNTtcbiRmYS12YXItc3BpZGVyOiBcXGY3MTc7XG4kZmEtdmFyLWhhbmRzLWJvdW5kOiBcXGU0Zjk7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItcGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NTY7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNsYXNoOiBcXGY3MTU7XG4kZmEtdmFyLWNvbXB1dGVyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWJyYWNrZXQ6IFxcZjA5MDtcbiRmYS12YXItc2lnbi1pbjogXFxmMDkwO1xuJGZhLXZhci1zaG9wLXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLWFsdC1zbGFzaDogXFxlMDcwO1xuJGZhLXZhci1zZXJ2ZXI6IFxcZjIzMztcbiRmYS12YXItdmlydXMtY292aWQtc2xhc2g6IFxcZTRhOTtcbiRmYS12YXItc2hvcC1sb2NrOiBcXGU0YTU7XG4kZmEtdmFyLWhvdXJnbGFzcy1zdGFydDogXFxmMjUxO1xuJGZhLXZhci1ob3VyZ2xhc3MtMTogXFxmMjUxO1xuJGZhLXZhci1ibGVuZGVyLXBob25lOiBcXGY2YjY7XG4kZmEtdmFyLWJ1aWxkaW5nLXdoZWF0OiBcXGU0ZGI7XG4kZmEtdmFyLXBlcnNvbi1icmVhc3RmZWVkaW5nOiBcXGU1M2E7XG4kZmEtdmFyLXJpZ2h0LXRvLWJyYWNrZXQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItcGFzc3BvcnQ6IFxcZjVhYjtcbiRmYS12YXItaGVhcnQtcHVsc2U6IFxcZjIxZTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLXBlb3BsZS1jYXJyeS1ib3g6IFxcZjRjZTtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2g6IFxcZjc2OTtcbiRmYS12YXItbWljcm9jaGlwOiBcXGYyZGI7XG4kZmEtdmFyLWNyb3duOiBcXGY1MjE7XG4kZmEtdmFyLXdlaWdodC1oYW5naW5nOiBcXGY1Y2Q7XG4kZmEtdmFyLXhtYXJrcy1saW5lczogXFxlNTlhO1xuJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbjogXFxmNTcyO1xuJGZhLXZhci13ZWlnaHQtc2NhbGU6IFxcZjQ5NjtcbiRmYS12YXItd2VpZ2h0OiBcXGY0OTY7XG4kZmEtdmFyLXVzZXItZ3JvdXA6IFxcZjUwMDtcbiRmYS12YXItdXNlci1mcmllbmRzOiBcXGY1MDA7XG4kZmEtdmFyLWFycm93LXVwLWEtejogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwOiBcXGYxNWU7XG4kZmEtdmFyLWNoZXNzLWtuaWdodDogXFxmNDQxO1xuJGZhLXZhci1mYWNlLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci1sYXVnaC1zcXVpbnQ6IFxcZjU5YjtcbiRmYS12YXItd2hlZWxjaGFpcjogXFxmMTkzO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctdXA6IFxcZjBhYTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcXGYwYWE7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci1wZXJzb24td2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxraW5nOiBcXGY1NTQ7XG4kZmEtdmFyLWw6IFxcNGM7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItYmVkLXB1bHNlOiBcXGY0ODc7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItc2h1dHRsZS1zcGFjZTogXFxmMTk3O1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLWZhY2UtbGF1Z2g6IFxcZjU5OTtcbiRmYS12YXItbGF1Z2g6IFxcZjU5OTtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItaGVhcnQtY2lyY2xlLXBsdXM6IFxcZTUwMDtcbiRmYS12YXItY29kZS1mb3JrOiBcXGUxM2I7XG4kZmEtdmFyLWNpdHk6IFxcZjY0ZjtcbiRmYS12YXItbWljcm9waG9uZS1saW5lczogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1wZXBwZXItaG90OiBcXGY4MTY7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci1jb2xvbi1zaWduOiBcXGUxNDA7XG4kZmEtdmFyLWhlYWRzZXQ6IFxcZjU5MDtcbiRmYS12YXItc3RvcmUtc2xhc2g6IFxcZTA3MTtcbiRmYS12YXItcm9hZC1jaXJjbGUteG1hcms6IFxcZTU2NjtcbiRmYS12YXItdXNlci1taW51czogXFxmNTAzO1xuJGZhLXZhci1tYXJzLXN0cm9rZS11cDogXFxmMjJhO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcXGYyMmE7XG4kZmEtdmFyLWNoYW1wYWduZS1nbGFzc2VzOiBcXGY3OWY7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFxcZjMyODtcbiRmYS12YXItaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1MGE7XG4kZmEtdmFyLWZpbGUtYXJyb3ctdXA6IFxcZjU3NDtcbiRmYS12YXItZmlsZS11cGxvYWQ6IFxcZjU3NDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWZpLTM6IFxcZjFlYjtcbiRmYS12YXItd2lmaS1zdHJvbmc6IFxcZjFlYjtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXRodHViOiBcXGYyY2Q7XG4kZmEtdmFyLXVuZGVybGluZTogXFxmMGNkO1xuJGZhLXZhci11c2VyLXBlbjogXFxmNGZmO1xuJGZhLXZhci11c2VyLWVkaXQ6IFxcZjRmZjtcbiRmYS12YXItc2lnbmF0dXJlOiBcXGY1Yjc7XG4kZmEtdmFyLXN0cm9vcHdhZmVsOiBcXGY1NTE7XG4kZmEtdmFyLWJvbGQ6IFxcZjAzMjtcbiRmYS12YXItYW5jaG9yLWxvY2s6IFxcZTRhZDtcbiRmYS12YXItYnVpbGRpbmctbmdvOiBcXGU0ZDc7XG4kZmEtdmFyLW1hbmF0LXNpZ246IFxcZTFkNTtcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLWJvcmRlci10b3AtbGVmdDogXFxmODUzO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItbWFwLWxvY2F0aW9uLWRvdDogXFxmNWEwO1xuJGZhLXZhci1tYXAtbWFya2VkLWFsdDogXFxmNWEwO1xuJGZhLXZhci1qZWRpOiBcXGY2Njk7XG4kZmEtdmFyLXNxdWFyZS1wb2xsLXZlcnRpY2FsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGw6IFxcZjY4MTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1iYXR0ZXJ5LWNhcjogXFxmNWRmO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWRpY2UtdHdvOiBcXGY1Mjg7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWNoZWNrOiBcXGU0ZDI7XG4kZmEtdmFyLXBlcnNvbi1jaGFsa2JvYXJkOiBcXGU1M2Q7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXJpZ2h0OiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFxcZjIyYjtcbiRmYS12YXItaGFuZC1iYWNrLWZpc3Q6IFxcZjI1NTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtdXA6IFxcZjE1MTtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy13YXRlcjogXFxlNGU0O1xuJGZhLXZhci1jaGFydC1iYXI6IFxcZjA4MDtcbiRmYS12YXItYmFyLWNoYXJ0OiBcXGYwODA7XG4kZmEtdmFyLWhhbmRzLWJ1YmJsZXM6IFxcZTA1ZTtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1sZXNzLXRoYW4tZXF1YWw6IFxcZjUzNztcbiRmYS12YXItdHJhaW46IFxcZjIzODtcbiRmYS12YXItZXllLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1jcm93OiBcXGY1MjA7XG4kZmEtdmFyLXNhaWxib2F0OiBcXGU0NDU7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXNxdWFyZS1wbHVzOiBcXGYwZmU7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcXGYwZmU7XG4kZmEtdmFyLXRvcmlpLWdhdGU6IFxcZjZhMTtcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1idWNrZXQ6IFxcZTRjZjtcbiRmYS12YXItaW1hZ2U6IFxcZjAzZTtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1jb3c6IFxcZjZjODtcbiRmYS12YXItY2FyZXQtdXA6IFxcZjBkODtcbiRmYS12YXItc2NyZXdkcml2ZXI6IFxcZjU0YTtcbiRmYS12YXItZm9sZGVyLWNsb3NlZDogXFxlMTg1O1xuJGZhLXZhci1ob3VzZS10c3VuYW1pOiBcXGU1MTU7XG4kZmEtdmFyLXNxdWFyZS1uZmk6IFxcZTU3NjtcbiRmYS12YXItYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXI6IFxcZTRiNTtcbiRmYS12YXItbWFydGluaS1nbGFzczogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1yb3RhdGUtbGVmdDogXFxmMmVhO1xuJGZhLXZhci1yb3RhdGUtYmFjazogXFxmMmVhO1xuJGZhLXZhci1yb3RhdGUtYmFja3dhcmQ6IFxcZjJlYTtcbiRmYS12YXItdW5kby1hbHQ6IFxcZjJlYTtcbiRmYS12YXItdGFibGUtY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhhbmRzaGFrZTogXFxmMmI1O1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZG9sbHk6IFxcZjQ3MjtcbiRmYS12YXItZG9sbHktYm94OiBcXGY0NzI7XG4kZmEtdmFyLXNtb2tpbmc6IFxcZjQ4ZDtcbiRmYS12YXItbWluaW1pemU6IFxcZjc4YztcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1tb251bWVudDogXFxmNWE2O1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1hbmdsZXMtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWNhbm5hYmlzOiBcXGY1NWY7XG4kZmEtdmFyLWNpcmNsZS1wbGF5OiBcXGYxNDQ7XG4kZmEtdmFyLXBsYXktY2lyY2xlOiBcXGYxNDQ7XG4kZmEtdmFyLXRhYmxldHM6IFxcZjQ5MDtcbiRmYS12YXItZXRoZXJuZXQ6IFxcZjc5NjtcbiRmYS12YXItZXVyby1zaWduOiBcXGYxNTM7XG4kZmEtdmFyLWV1cjogXFxmMTUzO1xuJGZhLXZhci1ldXJvOiBcXGYxNTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNpcmNsZS1jaGVjazogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFxcZjA1ODtcbiRmYS12YXItY2lyY2xlLXN0b3A6IFxcZjI4ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItY29tcGFzcy1kcmFmdGluZzogXFxmNTY4O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLXBsYXRlLXdoZWF0OiBcXGU1NWE7XG4kZmEtdmFyLWljaWNsZXM6IFxcZjdhZDtcbiRmYS12YXItcGVyc29uLXNoZWx0ZXI6IFxcZTU0ZjtcbiRmYS12YXItbmV1dGVyOiBcXGYyMmM7XG4kZmEtdmFyLWlkLWJhZGdlOiBcXGYyYzE7XG4kZmEtdmFyLW1hcmtlcjogXFxmNWExO1xuJGZhLXZhci1mYWNlLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtYmVhbTogXFxmNTlhO1xuJGZhLXZhci1oZWxpY29wdGVyLXN5bWJvbDogXFxlNTAyO1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWxhcmktc2lnbjogXFxlMWM4O1xuJGZhLXZhci12b2xjYW5vOiBcXGY3NzA7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0OiBcXGU1NTM7XG4kZmEtdmFyLXN0ZXJsaW5nLXNpZ246IFxcZjE1NDtcbiRmYS12YXItZ2JwOiBcXGYxNTQ7XG4kZmEtdmFyLXBvdW5kLXNpZ246IFxcZjE1NDtcbiRmYS12YXItdmlydXNlczogXFxlMDc2O1xuJGZhLXZhci1zcXVhcmUtcGVyc29uLWNvbmZpbmVkOiBcXGU1Nzc7XG4kZmEtdmFyLXVzZXItdGllOiBcXGY1MDg7XG4kZmEtdmFyLWFycm93LWRvd24tbG9uZzogXFxmMTc1O1xuJGZhLXZhci1sb25nLWFycm93LWRvd246IFxcZjE3NTtcbiRmYS12YXItdGVudC1hcnJvdy1kb3duLXRvLWxpbmU6IFxcZTU3ZTtcbiRmYS12YXItY2VydGlmaWNhdGU6IFxcZjBhMztcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLW1haWwtcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXBlcnNvbi1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItZmlsdGVyLWNpcmNsZS1kb2xsYXI6IFxcZjY2MjtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2lyY2xlLWFycm93LWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tZmlsZTogXFxmNTZmO1xuJGZhLXZhci1zcXVhcmUtYXJyb3ctdXAtcmlnaHQ6IFxcZjE0YztcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFxcZjE0YztcbiRmYS12YXItYm94LW9wZW46IFxcZjQ5ZTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1sb2NhdGlvbi1waW4tbG9jazogXFxlNTFmO1xuJGZhLXZhci1wYXVzZTogXFxmMDRjO1xuJGZhLXZhci1oaWxsLWF2YWxhbmNoZTogXFxlNTA3O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci10ZW1wZXJhdHVyZS0wOiBcXGYyY2I7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTA6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcXGYyNWQ7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZDogXFxmMmJiO1xuJGZhLXZhci1jb250YWN0LWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItdmNhcmQ6IFxcZjJiYjtcbiRmYS12YXItc2NhbGUtdW5iYWxhbmNlZC1mbGlwOiBcXGY1MTY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItc3Vic2NyaXB0OiBcXGYxMmM7XG4kZmEtdmFyLWRpYW1vbmQtdHVybi1yaWdodDogXFxmNWViO1xuJGZhLXZhci1kaXJlY3Rpb25zOiBcXGY1ZWI7XG4kZmEtdmFyLWJ1cnN0OiBcXGU0ZGM7XG4kZmEtdmFyLWhvdXNlLWxhcHRvcDogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtaG91c2U6IFxcZTA2NjtcbiRmYS12YXItZmFjZS10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci1tb25leS1iaWxsczogXFxlMWYzO1xuJGZhLXZhci1zbW9nOiBcXGY3NWY7XG4kZmEtdmFyLWNydXRjaDogXFxmN2Y3O1xuJGZhLXZhci1jbG91ZC1hcnJvdy11cDogXFxmMGVlO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMGVlO1xuJGZhLXZhci1wYWxldHRlOiBcXGY1M2Y7XG4kZmEtdmFyLWFycm93cy10dXJuLXJpZ2h0OiBcXGU0YzA7XG4kZmEtdmFyLXZlc3Q6IFxcZTA4NTtcbiRmYS12YXItZmVycnk6IFxcZTRlYTtcbiRmYS12YXItYXJyb3dzLWRvd24tdG8tcGVvcGxlOiBcXGU0Yjk7XG4kZmEtdmFyLXNlZWRsaW5nOiBcXGY0ZDg7XG4kZmEtdmFyLXNwcm91dDogXFxmNGQ4O1xuJGZhLXZhci1sZWZ0LXJpZ2h0OiBcXGYzMzc7XG4kZmEtdmFyLWFycm93cy1hbHQtaDogXFxmMzM3O1xuJGZhLXZhci1ib3hlcy1wYWNraW5nOiBcXGU0Yzc7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1sZWZ0OiBcXGYwYTg7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcXGYwYTg7XG4kZmEtdmFyLWdyb3VwLWFycm93cy1yb3RhdGU6IFxcZTRmNjtcbiRmYS12YXItYm93bC1mb29kOiBcXGU0YzY7XG4kZmEtdmFyLWNhbmR5LWNhbmU6IFxcZjc4NjtcbiRmYS12YXItYXJyb3ctZG93bi13aWRlLXNob3J0OiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXFxmMTYwO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLWNsb3VkLWJvbHQ6IFxcZjc2YztcbiRmYS12YXItdGh1bmRlcnN0b3JtOiBcXGY3NmM7XG4kZmEtdmFyLXRleHQtc2xhc2g6IFxcZjg3ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1mYWNlLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0OiBcXGYwN2U7XG4kZmEtdmFyLWFycm93cy1oOiBcXGYwN2U7XG4kZmEtdmFyLWhvdXNlLWxvY2s6IFxcZTUxMDtcbiRmYS12YXItY2xvdWQtYXJyb3ctZG93bjogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjBlZDtcbiRmYS12YXItY2hpbGRyZW46IFxcZTRlMTtcbiRmYS12YXItY2hhbGtib2FyZDogXFxmNTFiO1xuJGZhLXZhci1ibGFja2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLXVzZXItbGFyZ2Utc2xhc2g6IFxcZjRmYTtcbiRmYS12YXItdXNlci1hbHQtc2xhc2g6IFxcZjRmYTtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLXNsYXNoOiBcXGUwNWY7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2g6IFxcZTA1ZjtcbiRmYS12YXItbWF0dHJlc3MtcGlsbG93OiBcXGU1MjU7XG4kZmEtdmFyLWd1YXJhbmktc2lnbjogXFxlMTlhO1xuJGZhLXZhci1hcnJvd3Mtcm90YXRlOiBcXGYwMjE7XG4kZmEtdmFyLXJlZnJlc2g6IFxcZjAyMTtcbiRmYS12YXItc3luYzogXFxmMDIxO1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXFxmMTM0O1xuJGZhLXZhci1jcnV6ZWlyby1zaWduOiBcXGUxNTI7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbDogXFxmNTMyO1xuJGZhLXZhci1zaGllbGQtaGFsdmVkOiBcXGYzZWQ7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItYm9vay1hdGxhczogXFxmNTU4O1xuJGZhLXZhci1hdGxhczogXFxmNTU4O1xuJGZhLXZhci12aXJ1czogXFxlMDc0O1xuJGZhLXZhci1lbnZlbG9wZS1jaXJjbGUtY2hlY2s6IFxcZTRlODtcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItYXJyb3dzLXRvLWRvdDogXFxlNGJlO1xuJGZhLXZhci1hcmNod2F5OiBcXGY1NTc7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1jaGVjazogXFxlNGZkO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LWNyYWNrOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1maWxlLXppcHBlcjogXFxmMWM2O1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3MtZW1wdHk6IFxcZjAwMDtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jZWRpLXNpZ246IFxcZTBkZjtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWNodXJjaDogXFxmNTFkO1xuJGZhLXZhci1jb21tZW50cy1kb2xsYXI6IFxcZjY1MztcbiRmYS12YXItZGVtb2NyYXQ6IFxcZjc0NztcbiRmYS12YXItejogXFw1YTtcbiRmYS12YXItcGVyc29uLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItcm9hZC1sb2NrOiBcXGU1Njc7XG4kZmEtdmFyLWE6IFxcNDE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LWRvd246IFxcZTAzZjtcbiRmYS12YXItdGVtcGVyYXR1cmUtZG93bjogXFxlMDNmO1xuJGZhLXZhci1mZWF0aGVyLXBvaW50ZWQ6IFxcZjU2YjtcbiRmYS12YXItZmVhdGhlci1hbHQ6IFxcZjU2YjtcbiRmYS12YXItcDogXFw1MDtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLW5ld3NwYXBlcjogXFxmMWVhO1xuJGZhLXZhci1yZWN0YW5nbGUtYWQ6IFxcZjY0MTtcbiRmYS12YXItYWQ6IFxcZjY0MTtcbiRmYS12YXItY2lyY2xlLWFycm93LXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXFxmMGE5O1xuJGZhLXZhci1maWx0ZXItY2lyY2xlLXhtYXJrOiBcXGUxN2I7XG4kZmEtdmFyLWxvY3VzdDogXFxlNTIwO1xuJGZhLXZhci1zb3J0OiBcXGYwZGM7XG4kZmEtdmFyLXVuc29ydGVkOiBcXGYwZGM7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC0xLTI6IFxcZjBjYjtcbiRmYS12YXItbGlzdC1udW1lcmljOiBcXGYwY2I7XG4kZmEtdmFyLXBlcnNvbi1kcmVzcy1idXJzdDogXFxlNTQ0O1xuJGZhLXZhci1tb25leS1jaGVjay1kb2xsYXI6IFxcZjUzZDtcbiRmYS12YXItbW9uZXktY2hlY2stYWx0OiBcXGY1M2Q7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItZmFjZS1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWZpbHRlcjogXFxmMGIwO1xuJGZhLXZhci1xdWVzdGlvbjogXFwzZjtcbiRmYS12YXItZmlsZS1zaWduYXR1cmU6IFxcZjU3MztcbiRmYS12YXItdXAtZG93bi1sZWZ0LXJpZ2h0OiBcXGYwYjI7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFxcZjBiMjtcbiRmYS12YXItaG91c2UtY2hpbW5leS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydDogXFxmNGJlO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItbW9uZXktY2hlY2s6IFxcZjUzYztcbiRmYS12YXItc3Rhci1oYWxmLXN0cm9rZTogXFxmNWMwO1xuJGZhLXZhci1zdGFyLWhhbGYtYWx0OiBcXGY1YzA7XG4kZmEtdmFyLWNvZGU6IFxcZjEyMTtcbiRmYS12YXItd2hpc2tleS1nbGFzczogXFxmN2EwO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGQzO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWNoYXJ0OiBcXGU1MjI7XG4kZmEtdmFyLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlOiBcXGYwOGU7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFxcZjA4ZTtcbiRmYS12YXItY3ViZXMtc3RhY2tlZDogXFxlNGU2O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci1rcnc6IFxcZjE1OTtcbiRmYS12YXItd29uOiBcXGYxNTk7XG4kZmEtdmFyLXZpcnVzLWNvdmlkOiBcXGU0YTg7XG4kZmEtdmFyLWF1c3RyYWwtc2lnbjogXFxlMGE5O1xuJGZhLXZhci1mOiBcXDQ2O1xuJGZhLXZhci1sZWFmOiBcXGYwNmM7XG4kZmEtdmFyLXJvYWQ6IFxcZjAxODtcbiRmYS12YXItdGF4aTogXFxmMWJhO1xuJGZhLXZhci1jYWI6IFxcZjFiYTtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1wbHVzOiBcXGU1NDE7XG4kZmEtdmFyLWNoYXJ0LXBpZTogXFxmMjAwO1xuJGZhLXZhci1waWUtY2hhcnQ6IFxcZjIwMDtcbiRmYS12YXItYm9sdC1saWdodG5pbmc6IFxcZTBiNztcbiRmYS12YXItc2Fjay14bWFyazogXFxlNTZhO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlzaC1maW5zOiBcXGU0ZjI7XG4kZmEtdmFyLWJ1aWxkaW5nLWZsYWc6IFxcZTRkNTtcbiRmYS12YXItZmFjZS1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItZ3Jpbi1iZWFtOiBcXGY1ODI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcXGYyNDg7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItbG9jYXRpb24tcGluOiBcXGYwNDE7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFxcZjA0MTtcbiRmYS12YXIta2FhYmE6IFxcZjY2YjtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLWhlbG1ldC1zYWZldHk6IFxcZjgwNztcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGF0LWhhcmQ6IFxcZjgwNztcbiRmYS12YXItZWplY3Q6IFxcZjA1MjtcbiRmYS12YXItY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItcGxhbmUtY2lyY2xlLWNoZWNrOiBcXGU1NTU7XG4kZmEtdmFyLWZhY2Utcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItb2JqZWN0LWdyb3VwOiBcXGYyNDc7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItbGluZS1jaGFydDogXFxmMjAxO1xuJGZhLXZhci1tYXNrLXZlbnRpbGF0b3I6IFxcZTUyNDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItc2lnbnMtcG9zdDogXFxmMjc3O1xuJGZhLXZhci1tYXAtc2lnbnM6IFxcZjI3NztcbiRmYS12YXItY2FzaC1yZWdpc3RlcjogXFxmNzg4O1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXF1ZXN0aW9uOiBcXGU1NDI7XG4kZmEtdmFyLWg6IFxcNDg7XG4kZmEtdmFyLXRhcnA6IFxcZTU3YjtcbiRmYS12YXItc2NyZXdkcml2ZXItd3JlbmNoOiBcXGY3ZDk7XG4kZmEtdmFyLXRvb2xzOiBcXGY3ZDk7XG4kZmEtdmFyLWFycm93cy10by1leWU6IFxcZTRiZjtcbiRmYS12YXItcGx1Zy1jaXJjbGUtYm9sdDogXFxlNTViO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1tYXJzLWFuZC12ZW51czogXFxmMjI0O1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUxYjA7XG4kZmEtdmFyLWhvbWUtdXNlcjogXFxlMWIwO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWhvdXNlLWNyYWNrOiBcXGUzYjE7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3MtY2l0cnVzOiBcXGY1NjE7XG4kZmEtdmFyLWNvY2t0YWlsOiBcXGY1NjE7XG4kZmEtdmFyLWZhY2Utc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItYm90dGxlLXdhdGVyOiBcXGU0YzU7XG4kZmEtdmFyLWNpcmNsZS1wYXVzZTogXFxmMjhiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFxcZjI4YjtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLWFwcGxlLXdob2xlOiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLWFsdDogXFxmNWQxO1xuJGZhLXZhci1raXRjaGVuLXNldDogXFxlNTFhO1xuJGZhLXZhci1yOiBcXDUyO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1xdWFydGVyOiBcXGYyY2E7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTE6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOiBcXGYyY2E7XG4kZmEtdmFyLWN1YmU6IFxcZjFiMjtcbiRmYS12YXItYml0Y29pbi1zaWduOiBcXGUwYjQ7XG4kZmEtdmFyLXNoaWVsZC1kb2c6IFxcZTU3MztcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItbG9jay1vcGVuOiBcXGYzYzE7XG4kZmEtdmFyLWVsZXZhdG9yOiBcXGUxNmQ7XG4kZmEtdmFyLW1vbmV5LWJpbGwtdHJhbnNmZXI6IFxcZTUyODtcbiRmYS12YXItbW9uZXktYmlsbC10cmVuZC11cDogXFxlNTI5O1xuJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZTUwZjtcbiRmYS12YXItc3F1YXJlLXBvbGwtaG9yaXpvbnRhbDogXFxmNjgyO1xuJGZhLXZhci1wb2xsLWg6IFxcZjY4MjtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWJhY2t3YXJkLWZhc3Q6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXFxmMDQ5O1xuJGZhLXZhci1yZWN5Y2xlOiBcXGYxYjg7XG4kZmEtdmFyLXVzZXItYXN0cm9uYXV0OiBcXGY0ZmI7XG4kZmEtdmFyLXBsYW5lLXNsYXNoOiBcXGUwNjk7XG4kZmEtdmFyLXRyYWRlbWFyazogXFxmMjVjO1xuJGZhLXZhci1iYXNrZXRiYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1zYXRlbGxpdGUtZGlzaDogXFxmN2MwO1xuJGZhLXZhci1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1tb2JpbGUtc2NyZWVuLWJ1dHRvbjogXFxmM2NkO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLXZvbHVtZS1oaWdoOiBcXGYwMjg7XG4kZmEtdmFyLXZvbHVtZS11cDogXFxmMDI4O1xuJGZhLXZhci11c2Vycy1yYXlzOiBcXGU1OTM7XG4kZmEtdmFyLXdhbGxldDogXFxmNTU1O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLXdyZW5jaDogXFxmMGFkO1xuJGZhLXZhci1idWdzOiBcXGU0ZDA7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVwZWU6IFxcZjE1NjtcbiRmYS12YXItZmlsZS1pbWFnZTogXFxmMWM1O1xuJGZhLXZhci1jaXJjbGUtcXVlc3Rpb246IFxcZjA1OTtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlOiBcXGYwNTk7XG4kZmEtdmFyLXBsYW5lLWRlcGFydHVyZTogXFxmNWIwO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItYm9vay1ib29rbWFyazogXFxlMGJiO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWJyaWRnZTogXFxlNGM4O1xuJGZhLXZhci1waG9uZS1mbGlwOiBcXGY4Nzk7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci10cnVjay1mcm9udDogXFxlMmI3O1xuJGZhLXZhci1jYXQ6IFxcZjZiZTtcbiRmYS12YXItYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGFiO1xuJGZhLXZhci10cnVjay1maWVsZDogXFxlNThkO1xuJGZhLXZhci1yb3V0ZTogXFxmNGQ3O1xuJGZhLXZhci1jbGlwYm9hcmQtcXVlc3Rpb246IFxcZTRlMztcbiRmYS12YXItcGFub3JhbWE6IFxcZTIwOTtcbiRmYS12YXItY29tbWVudC1tZWRpY2FsOiBcXGY3ZjU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItZmlsZS1jaXJjbGUtbWludXM6IFxcZTRlZDtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci13aW5lLWdsYXNzOiBcXGY0ZTM7XG4kZmEtdmFyLWZvcndhcmQtZmFzdDogXFxmMDUwO1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFxcZjA1MDtcbiRmYS12YXItZmFjZS1tZWgtYmxhbms6IFxcZjVhNDtcbiRmYS12YXItbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLXNxdWFyZS1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhcmtpbmc6IFxcZjU0MDtcbiRmYS12YXItaG91c2Utc2lnbmFsOiBcXGUwMTI7XG4kZmEtdmFyLWJhcnMtcHJvZ3Jlc3M6IFxcZjgyODtcbiRmYS12YXItdGFza3MtYWx0OiBcXGY4Mjg7XG4kZmEtdmFyLWZhdWNldC1kcmlwOiBcXGUwMDY7XG4kZmEtdmFyLWNhcnQtZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkOiBcXGY0NzQ7XG4kZmEtdmFyLWJhbi1zbW9raW5nOiBcXGY1NGQ7XG4kZmEtdmFyLXNtb2tpbmctYmFuOiBcXGY1NGQ7XG4kZmEtdmFyLXRlcm1pbmFsOiBcXGYxMjA7XG4kZmEtdmFyLW1vYmlsZS1idXR0b246IFxcZjEwYjtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1mbGFnOiBcXGU1MTQ7XG4kZmEtdmFyLWJhc2tldC1zaG9wcGluZzogXFxmMjkxO1xuJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ6IFxcZjI5MTtcbiRmYS12YXItdGFwZTogXFxmNGRiO1xuJGZhLXZhci1idXMtc2ltcGxlOiBcXGY1NWU7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWZhY2Utc2FkLWNyeTogXFxmNWIzO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcXGYyOWU7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS10by1wZXJzb246IFxcZTU0YztcbiRmYS12YXItZmlsZS1zaGllbGQ6IFxcZTRmMDtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci1wZW46IFxcZjMwNDtcbiRmYS12YXItdG93ZXItb2JzZXJ2YXRpb246IFxcZTU4NjtcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLXNpZ25hbDogXFxmMDEyO1xuJGZhLXZhci1zaWduYWwtNTogXFxmMDEyO1xuJGZhLXZhci1zaWduYWwtcGVyZmVjdDogXFxmMDEyO1xuJGZhLXZhci1idXM6IFxcZjIwNztcbiRmYS12YXItaGVhcnQtY2lyY2xlLXhtYXJrOiBcXGU1MDE7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXk6IFxcZTNhZjtcbiRmYS12YXItaG9tZS1sZzogXFxlM2FmO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItZmFjZS1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1wcmVzY3JpcHRpb246IFxcZjViMTtcbiRmYS12YXItc2hvcDogXFxmNTRmO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItZmxvcHB5LWRpc2s6IFxcZjBjNztcbiRmYS12YXItc2F2ZTogXFxmMGM3O1xuJGZhLXZhci12aWhhcmE6IFxcZjZhNztcbiRmYS12YXItc2NhbGUtdW5iYWxhbmNlZDogXFxmNTE1O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQ6IFxcZjUxNTtcbiRmYS12YXItc29ydC11cDogXFxmMGRlO1xuJGZhLXZhci1zb3J0LWFzYzogXFxmMGRlO1xuJGZhLXZhci1jb21tZW50LWRvdHM6IFxcZjRhZDtcbiRmYS12YXItY29tbWVudGluZzogXFxmNGFkO1xuJGZhLXZhci1wbGFudC13aWx0OiBcXGU1YWE7XG4kZmEtdmFyLWRpYW1vbmQ6IFxcZjIxOTtcbiRmYS12YXItZmFjZS1ncmluLXNxdWludDogXFxmNTg1O1xuJGZhLXZhci1ncmluLXNxdWludDogXFxmNTg1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctZG9sbGFyOiBcXGY0YzA7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy11c2Q6IFxcZjRjMDtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWhhbmQtcG9pbnRlcjogXFxmMjVhO1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZHMtcHJheWluZzogXFxmNjg0O1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1yaWdodDogXFxmMDFlO1xuJGZhLXZhci1hcnJvdy1yaWdodC1yb3RhdGU6IFxcZjAxZTtcbiRmYS12YXItYXJyb3ctcm90YXRlLWZvcndhcmQ6IFxcZjAxZTtcbiRmYS12YXItcmVkbzogXFxmMDFlO1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItbG9jYXRpb24tY3Jvc3NoYWlyczogXFxmNjAxO1xuJGZhLXZhci1sb2NhdGlvbjogXFxmNjAxO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1jaGlsZC1kcmVzczogXFxlNTljO1xuJGZhLXZhci11c2Vycy1iZXR3ZWVuLWxpbmVzOiBcXGU1OTE7XG4kZmEtdmFyLWx1bmdzLXZpcnVzOiBcXGUwNjc7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLWNhbGVuZGFyLXhtYXJrOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNoaWxkLXJlYWNoaW5nOiBcXGU1OWQ7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci11c2VyLWdlYXI6IFxcZjRmZTtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItYXJyb3ctdXAtMS05OiBcXGYxNjM7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1kb29yLWNsb3NlZDogXFxmNTJhO1xuJGZhLXZhci1zaGllbGQtdmlydXM6IFxcZTA2YztcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItbW9zcXVpdG8tbmV0OiBcXGU1MmM7XG4kZmEtdmFyLWJyaWRnZS13YXRlcjogXFxlNGNlO1xuJGZhLXZhci1wZXJzb24tYm9vdGg6IFxcZjc1NjtcbiRmYS12YXItdGV4dC13aWR0aDogXFxmMDM1O1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZXJzb24tZGlnZ2luZzogXFxmODVlO1xuJGZhLXZhci1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLXRyYXNoOiBcXGYxZjg7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZTogXFxmNjI5O1xuJGZhLXZhci1nYXVnZS1zaW1wbGUtbWVkOiBcXGY2Mjk7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYXZlcmFnZTogXFxmNjI5O1xuJGZhLXZhci1ib29rLW1lZGljYWw6IFxcZjdlNjtcbiRmYS12YXItcG9vOiBcXGYyZmU7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0LWFsdDogXFxmMTBlO1xuJGZhLXZhci1zaGlydDogXFxmNTUzO1xuJGZhLXZhci10LXNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXRzaGlydDogXFxmNTUzO1xuJGZhLXZhci1jdWJlczogXFxmMWIzO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItdGVuZ2Utc2lnbjogXFxmN2Q3O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci1oZWFkcGhvbmVzOiBcXGYwMjU7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmc6IFxcZjRjMjtcbiRmYS12YXItaGFuZHMtY2xhcHBpbmc6IFxcZTFhODtcbiRmYS12YXItcmVwdWJsaWNhbjogXFxmNzVlO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcXGYwNjA7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUteG1hcms6IFxcZTU0MztcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItYWxpZ24tbGVmdDogXFxmMDM2O1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLXJlc3Ryb29tOiBcXGY3YmQ7XG4kZmEtdmFyLWo6IFxcNGE7XG4kZmEtdmFyLXVzZXJzLXZpZXdmaW5kZXI6IFxcZTU5NTtcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci11cC1yaWdodC1mcm9tLXNxdWFyZTogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci10YWJsZS1jZWxsczogXFxmMDBhO1xuJGZhLXZhci10aDogXFxmMDBhO1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1ib29rLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLW86IFxcNGY7XG4kZmEtdmFyLXN1aXRjYXNlLW1lZGljYWw6IFxcZjBmYTtcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcXGYyMWI7XG4kZmEtdmFyLW90dGVyOiBcXGY3MDA7XG4kZmEtdmFyLXBlcnNvbi1kcmVzczogXFxmMTgyO1xuJGZhLXZhci1mZW1hbGU6IFxcZjE4MjtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1icmllZmNhc2UtY2xvY2s6IFxcZjY0YTtcbiRmYS12YXItdGFibGUtY2VsbHMtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItdGgtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItYm9vay10YW5ha2g6IFxcZjgyNztcbiRmYS12YXItdGFuYWtoOiBcXGY4Mjc7XG4kZmEtdmFyLXBob25lLXZvbHVtZTogXFxmMmEwO1xuJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTogXFxmMmEwO1xuJGZhLXZhci1oYXQtY293Ym95LXNpZGU6IFxcZjhjMTtcbiRmYS12YXItY2xpcGJvYXJkLXVzZXI6IFxcZjdmMztcbiRmYS12YXItY2hpbGQ6IFxcZjFhZTtcbiRmYS12YXItbGlyYS1zaWduOiBcXGYxOTU7XG4kZmEtdmFyLXNhdGVsbGl0ZTogXFxmN2JmO1xuJGZhLXZhci1wbGFuZS1sb2NrOiBcXGU1NTg7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci1jb21tZW50OiBcXGYwNzU7XG4kZmEtdmFyLWNha2UtY2FuZGxlczogXFxmMWZkO1xuJGZhLXZhci1iaXJ0aGRheS1jYWtlOiBcXGYxZmQ7XG4kZmEtdmFyLWNha2U6IFxcZjFmZDtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItYW5nbGVzLXVwOiBcXGYxMDI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tY2l0eTogXFxlNGIzO1xuJGZhLXZhci1yaWJib246IFxcZjRkNjtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItYXJyb3ctdXAtOS0xOiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQ6IFxcZjg4NztcbiRmYS12YXItbGl0ZWNvaW4tc2lnbjogXFxlMWQzO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1jaXJjbGUtbm9kZXM6IFxcZTRlMjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1pbmRlbnQ6IFxcZjAzYztcbiRmYS12YXItdHJ1Y2stZmllbGQtdW46IFxcZTU4ZTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbXB0eTogXFxmMjU0O1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci11c2VyLWRvY3RvcjogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1kOiBcXGYwZjA7XG4kZmEtdmFyLWNpcmNsZS1pbmZvOiBcXGYwNWE7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNhbWVyYTogXFxmMDMwO1xuJGZhLXZhci1jYW1lcmEtYWx0OiBcXGYwMzA7XG4kZmEtdmFyLXNxdWFyZS12aXJ1czogXFxlNTc4O1xuJGZhLXZhci1tZXRlb3I6IFxcZjc1MztcbiRmYS12YXItY2FyLW9uOiBcXGU0ZGQ7XG4kZmEtdmFyLXNsZWlnaDogXFxmN2NjO1xuJGZhLXZhci1hcnJvdy1kb3duLTEtOTogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcXGYxNjI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duOiBcXGYxNjI7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1kcm9wbGV0OiBcXGY0YzE7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcjogXFxmNGMxO1xuJGZhLXZhci13YXRlcjogXFxmNzczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1icmFpbGxlOiBcXGYyYTE7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbDogXFxmNDg2O1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDogXFxmNDg2O1xuJGZhLXZhci1sYW5kbWFyazogXFxmNjZmO1xuJGZhLXZhci10cnVjazogXFxmMGQxO1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcXGYwNWI7XG4kZmEtdmFyLXBlcnNvbi1jYW5lOiBcXGU1M2M7XG4kZmEtdmFyLXRlbnQ6IFxcZTU3ZDtcbiRmYS12YXItdmVzdC1wYXRjaGVzOiBcXGUwODY7XG4kZmEtdmFyLWNoZWNrLWRvdWJsZTogXFxmNTYwO1xuJGZhLXZhci1hcnJvdy1kb3duLWEtejogXFxmMTVkO1xuJGZhLXZhci1zb3J0LWFscGhhLWFzYzogXFxmMTVkO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd246IFxcZjE1ZDtcbiRmYS12YXItbW9uZXktYmlsbC13aGVhdDogXFxlNTJhO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItYXJyb3ctcm90YXRlLWxlZnQ6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctbGVmdC1yb3RhdGU6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctcm90YXRlLWJhY2s6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctcm90YXRlLWJhY2t3YXJkOiBcXGYwZTI7XG4kZmEtdmFyLXVuZG86IFxcZjBlMjtcbiRmYS12YXItaGFyZC1kcml2ZTogXFxmMGEwO1xuJGZhLXZhci1oZGQ6IFxcZjBhMDtcbiRmYS12YXItZmFjZS1ncmluLXNxdWludC10ZWFyczogXFxmNTg2O1xuJGZhLXZhci1ncmluLXNxdWludC10ZWFyczogXFxmNTg2O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1yZWN0YW5nbGUtbGlzdDogXFxmMDIyO1xuJGZhLXZhci1saXN0LWFsdDogXFxmMDIyO1xuJGZhLXZhci10YXJwLWRyb3BsZXQ6IFxcZTU3YztcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2s6IFxcZTUxMTtcbiRmYS12YXItcGVyc29uLXNraWluZy1ub3JkaWM6IFxcZjdjYTtcbiRmYS12YXItc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLXBsYW5lLWFycml2YWw6IFxcZjVhZjtcbiRmYS12YXItY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLXRyYWluLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItY2hhcnQtZ2FudHQ6IFxcZTBlNDtcbiRmYS12YXItaW5kaWFuLXJ1cGVlLXNpZ246IFxcZTFiYztcbiRmYS12YXItaW5kaWFuLXJ1cGVlOiBcXGUxYmM7XG4kZmEtdmFyLWlucjogXFxlMWJjO1xuJGZhLXZhci1jcm9wLXNpbXBsZTogXFxmNTY1O1xuJGZhLXZhci1jcm9wLWFsdDogXFxmNTY1O1xuJGZhLXZhci1tb25leS1iaWxsLTE6IFxcZjNkMTtcbiRmYS12YXItbW9uZXktYmlsbC1hbHQ6IFxcZjNkMTtcbiRmYS12YXItbGVmdC1sb25nOiBcXGYzMGE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLXN1YnRyYWN0OiBcXGYwNjg7XG4kZmEtdmFyLWNoZXNzOiBcXGY0Mzk7XG4kZmEtdmFyLWFycm93LWxlZnQtbG9uZzogXFxmMTc3O1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFxcZjE3NztcbiRmYS12YXItcGx1Zy1jaXJjbGUtY2hlY2s6IFxcZTU1YztcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItZnJhbmMtc2lnbjogXFxlMThmO1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLWhhbmRzLWFzbC1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYXNsLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1oYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1nZWFyOiBcXGYwMTM7XG4kZmEtdmFyLWNvZzogXFxmMDEzO1xuJGZhLXZhci1kcm9wbGV0LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpbnQtc2xhc2g6IFxcZjVjNztcbiRmYS12YXItbW9zcXVlOiBcXGY2Nzg7XG4kZmEtdmFyLW1vc3F1aXRvOiBcXGU1MmI7XG4kZmEtdmFyLXN0YXItb2YtZGF2aWQ6IFxcZjY5YTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXJpZmxlOiBcXGU1NGI7XG4kZmEtdmFyLWNhcnQtc2hvcHBpbmc6IFxcZjA3YTtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXFxmMDdhO1xuJGZhLXZhci12aWFsczogXFxmNDkzO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1wbHVzOiBcXGU1NWY7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItZ3JpcC12ZXJ0aWNhbDogXFxmNThlO1xuJGZhLXZhci1hcnJvdy10dXJuLXVwOiBcXGYxNDg7XG4kZmEtdmFyLWxldmVsLXVwOiBcXGYxNDg7XG4kZmEtdmFyLXU6IFxcNTU7XG4kZmEtdmFyLXNxdWFyZS1yb290LXZhcmlhYmxlOiBcXGY2OTg7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9jay1mb3VyOiBcXGYwMTc7XG4kZmEtdmFyLWJhY2t3YXJkLXN0ZXA6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1wYWxsZXQ6IFxcZjQ4MjtcbiRmYS12YXItZmF1Y2V0OiBcXGUwMDU7XG4kZmEtdmFyLWJhc2ViYWxsLWJhdC1iYWxsOiBcXGY0MzI7XG4kZmEtdmFyLXM6IFxcNTM7XG4kZmEtdmFyLXRpbWVsaW5lOiBcXGUyOWM7XG4kZmEtdmFyLWtleWJvYXJkOiBcXGYxMWM7XG4kZmEtdmFyLWNhcmV0LWRvd246IFxcZjBkNztcbiRmYS12YXItaG91c2UtY2hpbW5leS1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzOiBcXGYyYzg7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTM6IFxcZjJjODtcbiRmYS12YXItdGhlcm1vbWV0ZXItMzogXFxmMmM4O1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci1tb2JpbGUtc2NyZWVuOiBcXGYzY2Y7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdDogXFxmM2NmO1xuJGZhLXZhci1wbGFuZS11cDogXFxlMjJkO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LTM6IFxcZjI0MjtcbiRmYS12YXItbW91bnRhaW4tY2l0eTogXFxlNTJlO1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1raGFuZGE6IFxcZjY2ZDtcbiRmYS12YXItc2xpZGVyczogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXJzLWg6IFxcZjFkZTtcbiRmYS12YXItZm9sZGVyLXRyZWU6IFxcZjgwMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWNlbnQtc2lnbjogXFxlM2Y1O1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1wZXJzb24tcHJlZ25hbnQ6IFxcZTMxZTtcbiRmYS12YXItd2FuZC1zcGFya2xlczogXFxmNzJiO1xuJGZhLXZhci1lbGxpcHNpcy12ZXJ0aWNhbDogXFxmMTQyO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcXGYxNDI7XG4kZmEtdmFyLXRpY2tldDogXFxmMTQ1O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcmlnaHQtbG9uZzogXFxmMzBiO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodDogXFxmMzBiO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1sYXB0b3AtZmlsZTogXFxlNTFkO1xuJGZhLXZhci10dHk6IFxcZjFlNDtcbiRmYS12YXItdGVsZXR5cGU6IFxcZjFlNDtcbiRmYS12YXItZGlhZ3JhbS1uZXh0OiBcXGU0NzY7XG4kZmEtdmFyLXBlcnNvbi1yaWZsZTogXFxlNTRlO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTEyO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1wZXJzb24taGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpa2luZzogXFxmNmVjO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFxcZjIyNjtcbiRmYS12YXItaW1hZ2VzOiBcXGYzMDI7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItcGVvcGxlLXB1bGxpbmc6IFxcZTUzNTtcbiRmYS12YXItbjogXFw0ZTtcbiRmYS12YXItY2FibGUtY2FyOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW06IFxcZjdkYTtcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUteG1hcms6IFxcZTRkNDtcbiRmYS12YXItc2hpcDogXFxmMjFhO1xuJGZhLXZhci1hcnJvd3MtZG93bi10by1saW5lOiBcXGU0Yjg7XG4kZmEtdmFyLWRvd25sb2FkOiBcXGYwMTk7XG4kZmEtdmFyLWZhY2UtZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWRlbGV0ZS1sZWZ0OiBcXGY1NWE7XG4kZmEtdmFyLWJhY2tzcGFjZTogXFxmNTVhO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtZHJvcHBlci1lbXB0eTogXFxmMWZiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLWNoZWNrOiBcXGU1YTA7XG4kZmEtdmFyLWZvcndhcmQ6IFxcZjA0ZTtcbiRmYS12YXItbW9iaWxlOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1waG9uZTogXFxmM2NlO1xuJGZhLXZhci1mYWNlLW1laDogXFxmMTFhO1xuJGZhLXZhci1tZWg6IFxcZjExYTtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcXGYwMzc7XG4kZmEtdmFyLWJvb2stc2t1bGw6IFxcZjZiNztcbiRmYS12YXItYm9vay1kZWFkOiBcXGY2Yjc7XG4kZmEtdmFyLWlkLWNhcmQ6IFxcZjJjMjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcXGYyYzI7XG4kZmEtdmFyLW91dGRlbnQ6IFxcZjAzYjtcbiRmYS12YXItZGVkZW50OiBcXGYwM2I7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGZlO1xuJGZhLXZhci1ob3VzZTogXFxmMDE1O1xuJGZhLXZhci1ob21lOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtYWx0OiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtbGctYWx0OiBcXGYwMTU7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItbGFwdG9wLW1lZGljYWw6IFxcZjgxMjtcbiRmYS12YXItYjogXFw0MjtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWRpY2Utb25lOiBcXGY1MjU7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0OiBcXGYwZWM7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcXGYwZWM7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXFxmMmY5O1xuJGZhLXZhci1yZWRvLWFsdDogXFxmMmY5O1xuJGZhLXZhci1yb3RhdGUtZm9yd2FyZDogXFxmMmY5O1xuJGZhLXZhci11dGVuc2lsczogXFxmMmU3O1xuJGZhLXZhci1jdXRsZXJ5OiBcXGYyZTc7XG4kZmEtdmFyLWFycm93LXVwLXdpZGUtc2hvcnQ6IFxcZjE2MTtcbiRmYS12YXItc29ydC1hbW91bnQtdXA6IFxcZjE2MTtcbiRmYS12YXItbWlsbC1zaWduOiBcXGUxZWQ7XG4kZmEtdmFyLWJvd2wtcmljZTogXFxlMmViO1xuJGZhLXZhci1za3VsbDogXFxmNTRjO1xuJGZhLXZhci10b3dlci1icm9hZGNhc3Q6IFxcZjUxOTtcbiRmYS12YXItYnJvYWRjYXN0LXRvd2VyOiBcXGY1MTk7XG4kZmEtdmFyLXRydWNrLXBpY2t1cDogXFxmNjNjO1xuJGZhLXZhci11cC1sb25nOiBcXGYzMGM7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwOiBcXGYzMGM7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItY29kZS1tZXJnZTogXFxmMzg3O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItaHVycmljYW5lOiBcXGY3NTE7XG4kZmEtdmFyLW1vdW5kOiBcXGU1MmQ7XG4kZmEtdmFyLXRvaWxldC1wb3J0YWJsZTogXFxlNTgzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItZmlsZS1hcnJvdy1kb3duOiBcXGY1NmQ7XG4kZmEtdmFyLWZpbGUtZG93bmxvYWQ6IFxcZjU2ZDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1zaGllbGQtY2F0OiBcXGU1NzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItemFwOiBcXGYwZTc7XG4kZmEtdmFyLWdsYXNzLXdhdGVyOiBcXGU0ZjQ7XG4kZmEtdmFyLW9pbC13ZWxsOiBcXGU1MzI7XG4kZmEtdmFyLXZhdWx0OiBcXGUyYzU7XG4kZmEtdmFyLW1hcnM6IFxcZjIyMjtcbiRmYS12YXItdG9pbGV0OiBcXGY3ZDg7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS14bWFyazogXFxlNTU3O1xuJGZhLXZhci15ZW4tc2lnbjogXFxmMTU3O1xuJGZhLXZhci1jbnk6IFxcZjE1NztcbiRmYS12YXItanB5OiBcXGYxNTc7XG4kZmEtdmFyLXJtYjogXFxmMTU3O1xuJGZhLXZhci15ZW46IFxcZjE1NztcbiRmYS12YXItcnVibGUtc2lnbjogXFxmMTU4O1xuJGZhLXZhci1yb3VibGU6IFxcZjE1ODtcbiRmYS12YXItcnViOiBcXGYxNTg7XG4kZmEtdmFyLXJ1YmxlOiBcXGYxNTg7XG4kZmEtdmFyLXN1bjogXFxmMTg1O1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZmFjZS1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItaG9yc2UtaGVhZDogXFxmN2FiO1xuJGZhLXZhci1ib3JlLWhvbGU6IFxcZTRjMztcbiRmYS12YXItaW5kdXN0cnk6IFxcZjI3NTtcbiRmYS12YXItY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93cy10dXJuLXRvLWRvdHM6IFxcZTRjMTtcbiRmYS12YXItZmxvcmluLXNpZ246IFxcZTE4NDtcbiRmYS12YXItYXJyb3ctZG93bi1zaG9ydC13aWRlOiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M6IFxcZjg4NDtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQ6IFxcZjg4NDtcbiRmYS12YXItbGVzcy10aGFuOiBcXDNjO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWNhci10dW5uZWw6IFxcZTRkZTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoOiBcXGUwNjE7XG4kZmEtdmFyLWdyaXAtbGluZXM6IFxcZjdhNDtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdXNlci1sb2NrOiBcXGY1MDI7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWxvbmc6IFxcZjE3ODtcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXFxmMTc4O1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLXhtYXJrOiBcXGU0YWM7XG4kZmEtdmFyLWVsbGlwc2lzOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLWg6IFxcZjE0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1raXQtbWVkaWNhbDogXFxmNDc5O1xuJGZhLXZhci1maXJzdC1haWQ6IFxcZjQ3OTtcbiRmYS12YXItcGVyc29uLXRocm91Z2gtd2luZG93OiBcXGU1YTk7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItaGFuZHMtaG9sZGluZy1jaXJjbGU6IFxcZTRmYjtcbiRmYS12YXItYnVnOiBcXGYxODg7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcXGYwOWQ7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDogXFxmMDlkO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItYXV0b21vYmlsZTogXFxmMWI5O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGFuZDogXFxlNGY3O1xuJGZhLXZhci1ib29rLW9wZW4tcmVhZGVyOiBcXGY1ZGE7XG4kZmEtdmFyLWJvb2stcmVhZGVyOiBcXGY1ZGE7XG4kZmEtdmFyLW1vdW50YWluLXN1bjogXFxlNTJmO1xuJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodC10by1saW5lOiBcXGU0YmE7XG4kZmEtdmFyLWRpY2UtZDIwOiBcXGY2Y2Y7XG4kZmEtdmFyLXRydWNrLWRyb3BsZXQ6IFxcZTU4YztcbiRmYS12YXItZmlsZS1jaXJjbGUteG1hcms6IFxcZTVhMTtcbiRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctdXA6IFxcZTA0MDtcbiRmYS12YXItdGVtcGVyYXR1cmUtdXA6IFxcZTA0MDtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItYmVkOiBcXGYyMzY7XG4kZmEtdmFyLXNxdWFyZS1oOiBcXGYwZmQ7XG4kZmEtdmFyLWgtc3F1YXJlOiBcXGYwZmQ7XG4kZmEtdmFyLXBvZGNhc3Q6IFxcZjJjZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtZnVsbDogXFxmMmM3O1xuJGZhLXZhci10ZW1wZXJhdHVyZS00OiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTQ6IFxcZjJjNztcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci1iZWxsOiBcXGYwZjM7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXBsdWctY2lyY2xlLXhtYXJrOiBcXGU1NjA7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1wYWludC1yb2xsZXI6IFxcZjVhYTtcbiRmYS12YXItaGFuZHNoYWtlLWFuZ2xlOiBcXGY0YzQ7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItbG9jYXRpb24tZG90OiBcXGYzYzU7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0OiBcXGYzYzU7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZ3JlYXRlci10aGFuOiBcXDNlO1xuJGZhLXZhci1wZXJzb24tc3dpbW1pbmc6IFxcZjVjNDtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWRyb3BsZXQ6IFxcZjA0MztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci1lcmFzZXI6IFxcZjEyZDtcbiRmYS12YXItZWFydGgtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZWFydGg6IFxcZjU3ZDtcbiRmYS12YXItZWFydGgtYW1lcmljYTogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1wZXJzb24tYnVyc3Q6IFxcZTUzYjtcbiRmYS12YXItZG92ZTogXFxmNGJhO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcXGYyNDQ7XG4kZmEtdmFyLWJhdHRlcnktMDogXFxmMjQ0O1xuJGZhLXZhci1zb2NrczogXFxmNjk2O1xuJGZhLXZhci1pbmJveDogXFxmMDFjO1xuJGZhLXZhci1zZWN0aW9uOiBcXGU0NDc7XG4kZmEtdmFyLWdhdWdlLWhpZ2g6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQ6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdDogXFxmNjI1O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItaG9zcGl0YWw6IFxcZjBmODtcbiRmYS12YXItaG9zcGl0YWwtYWx0OiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLXdpZGU6IFxcZjBmODtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItY2hlc3Mtcm9vazogXFxmNDQ3O1xuJGZhLXZhci1iYXJzLXN0YWdnZXJlZDogXFxmNTUwO1xuJGZhLXZhci1yZW9yZGVyOiBcXGY1NTA7XG4kZmEtdmFyLXN0cmVhbTogXFxmNTUwO1xuJGZhLXZhci1kaGFybWFjaGFrcmE6IFxcZjY1NTtcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLXdpdGgtY2FuZTogXFxmMjlkO1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1kcnVtOiBcXGY1Njk7XG4kZmEtdmFyLWljZS1jcmVhbTogXFxmODEwO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtYm9sdDogXFxlNGZjO1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItcGFyYWdyYXBoOiBcXGYxZGQ7XG4kZmEtdmFyLWNoZWNrLXRvLXNsb3Q6IFxcZjc3MjtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItc3Rhci1oYWxmOiBcXGYwODk7XG4kZmEtdmFyLWJveGVzLXN0YWNrZWQ6IFxcZjQ2ODtcbiRmYS12YXItYm94ZXM6IFxcZjQ2ODtcbiRmYS12YXItYm94ZXMtYWx0OiBcXGY0Njg7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItY2hhaW46IFxcZjBjMTtcbiRmYS12YXItZWFyLWxpc3RlbjogXFxmMmEyO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFxcZjJhMjtcbiRmYS12YXItdHJlZS1jaXR5OiBcXGU1ODc7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1ydXBpYWgtc2lnbjogXFxlMjNkO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaDogXFxmMDAyO1xuJGZhLXZhci10YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGw6IFxcZjQ1ZDtcbiRmYS12YXItcGluZy1wb25nLXBhZGRsZS1iYWxsOiBcXGY0NWQ7XG4kZmEtdmFyLXRhYmxlLXRlbm5pczogXFxmNDVkO1xuJGZhLXZhci1wZXJzb24tZG90cy1mcm9tLWxpbmU6IFxcZjQ3MDtcbiRmYS12YXItZGlhZ25vc2VzOiBcXGY0NzA7XG4kZmEtdmFyLXRyYXNoLWNhbi1hcnJvdy11cDogXFxmODJhO1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci1uYWlyYS1zaWduOiBcXGUxZjY7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXFxmMjE4O1xuJGZhLXZhci13YWxraWUtdGFsa2llOiBcXGY4ZWY7XG4kZmEtdmFyLWZpbGUtcGVuOiBcXGYzMWM7XG4kZmEtdmFyLWZpbGUtZWRpdDogXFxmMzFjO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXNxdWFyZS1wZW46IFxcZjE0YjtcbiRmYS12YXItcGVuLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcXGYxNGI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTNmO1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnk6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeS01OiBcXGYyNDA7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItY29kZS1jb21wYXJlOiBcXGUxM2E7XG4kZmEtdmFyLWxpc3QtdWw6IFxcZjBjYTtcbiRmYS12YXItbGlzdC1kb3RzOiBcXGYwY2E7XG4kZmEtdmFyLXNjaG9vbC1sb2NrOiBcXGU1NmY7XG4kZmEtdmFyLXRvd2VyLWNlbGw6IFxcZTU4NTtcbiRmYS12YXItZG93bi1sb25nOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd246IFxcZjMwOTtcbiRmYS12YXItcmFua2luZy1zdGFyOiBcXGU1NjE7XG4kZmEtdmFyLWNoZXNzLWtpbmc6IFxcZjQzZjtcbiRmYS12YXItcGVyc29uLWhhcmFzc2luZzogXFxlNTQ5O1xuJGZhLXZhci1icmF6aWxpYW4tcmVhbC1zaWduOiBcXGU0NmM7XG4kZmEtdmFyLWxhbmRtYXJrLWRvbWU6IFxcZjc1MjtcbiRmYS12YXItbGFuZG1hcmstYWx0OiBcXGY3NTI7XG4kZmEtdmFyLWFycm93LXVwOiBcXGYwNjI7XG4kZmEtdmFyLXR2OiBcXGYyNmM7XG4kZmEtdmFyLXRlbGV2aXNpb246IFxcZjI2YztcbiRmYS12YXItdHYtYWx0OiBcXGYyNmM7XG4kZmEtdmFyLXNocmltcDogXFxlNDQ4O1xuJGZhLXZhci1saXN0LWNoZWNrOiBcXGYwYWU7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLWp1Zy1kZXRlcmdlbnQ6IFxcZTUxOTtcbiRmYS12YXItY2lyY2xlLXVzZXI6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItd2luZDogXFxmNzJlO1xuJGZhLXZhci1jYXItYnVyc3Q6IFxcZjVlMTtcbiRmYS12YXItY2FyLWNyYXNoOiBcXGY1ZTE7XG4kZmEtdmFyLXk6IFxcNTk7XG4kZmEtdmFyLXBlcnNvbi1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2JvYXJkaW5nOiBcXGY3Y2U7XG4kZmEtdmFyLXRydWNrLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1maXNoOiBcXGY1Nzg7XG4kZmEtdmFyLXVzZXItZ3JhZHVhdGU6IFxcZjUwMTtcbiRmYS12YXItY2lyY2xlLWhhbGYtc3Ryb2tlOiBcXGYwNDI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1jbGFwcGVyYm9hcmQ6IFxcZTEzMTtcbiRmYS12YXItY2lyY2xlLXJhZGlhdGlvbjogXFxmN2JhO1xuJGZhLXZhci1yYWRpYXRpb24tYWx0OiBcXGY3YmE7XG4kZmEtdmFyLWJhc2ViYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2ViYWxsLWJhbGw6IFxcZjQzMztcbiRmYS12YXItamV0LWZpZ2h0ZXItdXA6IFxcZTUxODtcbiRmYS12YXItZGlhZ3JhbS1wcm9qZWN0OiBcXGY1NDI7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1jb3B5OiBcXGYwYzU7XG4kZmEtdmFyLXZvbHVtZS14bWFyazogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtdGltZXM6IFxcZjZhOTtcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1ncmlwOiBcXGY1OGQ7XG4kZmEtdmFyLWdyaXAtaG9yaXpvbnRhbDogXFxmNThkO1xuJGZhLXZhci1zaGFyZS1mcm9tLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFxcZjE0ZDtcbiRmYS12YXItY2hpbGQtY29tYmF0YW50OiBcXGU0ZTA7XG4kZmEtdmFyLWNoaWxkLXJpZmxlOiBcXGU0ZTA7XG4kZmEtdmFyLWd1bjogXFxlMTliO1xuJGZhLXZhci1zcXVhcmUtcGhvbmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlOiBcXGYwOTg7XG4kZmEtdmFyLXBsdXM6IFxcMmI7XG4kZmEtdmFyLWFkZDogXFwyYjtcbiRmYS12YXItZXhwYW5kOiBcXGYwNjU7XG4kZmEtdmFyLWNvbXB1dGVyOiBcXGU0ZTU7XG4kZmEtdmFyLXhtYXJrOiBcXGYwMGQ7XG4kZmEtdmFyLWNsb3NlOiBcXGYwMGQ7XG4kZmEtdmFyLW11bHRpcGx5OiBcXGYwMGQ7XG4kZmEtdmFyLXJlbW92ZTogXFxmMDBkO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci1hcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0OiBcXGYwNDc7XG4kZmEtdmFyLWFycm93czogXFxmMDQ3O1xuJGZhLXZhci1jaGFsa2JvYXJkLXVzZXI6IFxcZjUxYztcbiRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyOiBcXGY1MWM7XG4kZmEtdmFyLXBlc28tc2lnbjogXFxlMjIyO1xuJGZhLXZhci1idWlsZGluZy1zaGllbGQ6IFxcZTRkODtcbiRmYS12YXItYmFieTogXFxmNzdjO1xuJGZhLXZhci11c2Vycy1saW5lOiBcXGU1OTI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFxcZjEwZDtcbiRmYS12YXItcXVvdGUtbGVmdC1hbHQ6IFxcZjEwZDtcbiRmYS12YXItdHJhY3RvcjogXFxmNzIyO1xuJGZhLXZhci10cmFzaC1hcnJvdy11cDogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlOiBcXGY4Mjk7XG4kZmEtdmFyLWFycm93LWRvd24tdXAtbG9jazogXFxlNGIwO1xuJGZhLXZhci1saW5lcy1sZWFuaW5nOiBcXGU1MWU7XG4kZmEtdmFyLXJ1bGVyLWNvbWJpbmVkOiBcXGY1NDY7XG4kZmEtdmFyLWNvcHlyaWdodDogXFxmMWY5O1xuJGZhLXZhci1lcXVhbHM6IFxcM2Q7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItdGVldGg6IFxcZjYyZTtcbiRmYS12YXItc2hla2VsLXNpZ246IFxcZjIwYjtcbiRmYS12YXItaWxzOiBcXGYyMGI7XG4kZmEtdmFyLXNoZWtlbDogXFxmMjBiO1xuJGZhLXZhci1zaGVxZWw6IFxcZjIwYjtcbiRmYS12YXItc2hlcWVsLXNpZ246IFxcZjIwYjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLXJvY2tldDogXFxmMTM1O1xuJGZhLXZhci1waG90by1maWxtOiBcXGY4N2M7XG4kZmEtdmFyLXBob3RvLXZpZGVvOiBcXGY4N2M7XG4kZmEtdmFyLWZvbGRlci1taW51czogXFxmNjVkO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1hcnJvdy10cmVuZC11cDogXFxlMDk4O1xuJGZhLXZhci1wbHVnLWNpcmNsZS1taW51czogXFxlNTVlO1xuJGZhLXZhci1zaWduLWhhbmdpbmc6IFxcZjRkOTtcbiRmYS12YXItc2lnbjogXFxmNGQ5O1xuJGZhLXZhci1iZXppZXItY3VydmU6IFxcZjU1YjtcbiRmYS12YXItYmVsbC1zbGFzaDogXFxmMWY2O1xuJGZhLXZhci10YWJsZXQ6IFxcZjNmYjtcbiRmYS12YXItdGFibGV0LWFuZHJvaWQ6IFxcZjNmYjtcbiRmYS12YXItc2Nob29sLWZsYWc6IFxcZTU2ZTtcbiRmYS12YXItZmlsbDogXFxmNTc1O1xuJGZhLXZhci1hbmdsZS11cDogXFxmMTA2O1xuJGZhLXZhci1kcnVtc3RpY2stYml0ZTogXFxmNmQ3O1xuJGZhLXZhci1ob2xseS1iZXJyeTogXFxmN2FhO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFxcZjA1MztcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItbm90ZGVmOiBcXGUxZmU7XG4kZmEtdmFyLWRpc2Vhc2U6IFxcZjdmYTtcbiRmYS12YXItYnJpZWZjYXNlLW1lZGljYWw6IFxcZjQ2OTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcXGYwNTQ7XG4kZmEtdmFyLXJldHdlZXQ6IFxcZjA3OTtcbiRmYS12YXItY2FyLXJlYXI6IFxcZjVkZTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1wdW1wLXNvYXA6IFxcZTA2YjtcbiRmYS12YXItdmlkZW8tc2xhc2g6IFxcZjRlMjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcXGYyNDM7XG4kZmEtdmFyLWJhdHRlcnktMjogXFxmMjQzO1xuJGZhLXZhci1yYWRpbzogXFxmOGQ3O1xuJGZhLXZhci1iYWJ5LWNhcnJpYWdlOiBcXGY3N2Q7XG4kZmEtdmFyLWNhcnJpYWdlLWJhYnk6IFxcZjc3ZDtcbiRmYS12YXItdHJhZmZpYy1saWdodDogXFxmNjM3O1xuJGZhLXZhci10aGVybW9tZXRlcjogXFxmNDkxO1xuJGZhLXZhci12ci1jYXJkYm9hcmQ6IFxcZjcyOTtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLXBlcmNlbnQ6IFxcMjU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcMjU7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci1nbGFzcy13YXRlci1kcm9wbGV0OiBcXGU0ZjU7XG4kZmEtdmFyLWRpc3BsYXk6IFxcZTE2MztcbiRmYS12YXItZmFjZS1zbWlsZTogXFxmMTE4O1xuJGZhLXZhci1zbWlsZTogXFxmMTE4O1xuJGZhLXZhci10aHVtYnRhY2s6IFxcZjA4ZDtcbiRmYS12YXItdGh1bWItdGFjazogXFxmMDhkO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItcGVyc29uLXByYXlpbmc6IFxcZjY4MztcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1oYW1tZXI6IFxcZjZlMztcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1yb3RhdGU6IFxcZjJmMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3Bpbm5lcjogXFxmMTEwO1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1wZWFjZTogXFxmNjdjO1xuJGZhLXZhci1nZWFyczogXFxmMDg1O1xuJGZhLXZhci1jb2dzOiBcXGYwODU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci1hcnJvdy11cC1yaWdodC1kb3RzOiBcXGU0Yjc7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItZmFjZS1ncmluLWhlYXJ0czogXFxmNTg0O1xuJGZhLXZhci1ncmluLWhlYXJ0czogXFxmNTg0O1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItc2ltLWNhcmQ6IFxcZjdjNDtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFxcZjIyNTtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcXGYyMjU7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItYXJyb3ctdHVybi1kb3duOiBcXGYxNDk7XG4kZmEtdmFyLWxldmVsLWRvd246IFxcZjE0OTtcbiRmYS12YXItcGVyc29uLWZhbGxpbmctYnVyc3Q6IFxcZTU0NztcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItdGlja2V0LXNpbXBsZTogXFxmM2ZmO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcXGYxYWQ7XG4kZmEtdmFyLWFuZ2xlcy1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdDogXFxmMWRhO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWdyaW4tYmVhbS1zd2VhdDogXFxmNTgzO1xuJGZhLXZhci1maWxlLWV4cG9ydDogXFxmNTZlO1xuJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWZpbGU6IFxcZjU2ZTtcbiRmYS12YXItc2hpZWxkOiBcXGYxMzI7XG4kZmEtdmFyLXNoaWVsZC1ibGFuazogXFxmMTMyO1xuJGZhLXZhci1hcnJvdy11cC1zaG9ydC13aWRlOiBcXGY4ODU7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsOiBcXGUzYjI7XG4kZmEtdmFyLWdvbGYtYmFsbC10ZWU6IFxcZjQ1MDtcbiRmYS12YXItZ29sZi1iYWxsOiBcXGY0NTA7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWxlZnQ6IFxcZjEzNztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LXdpbmRvdzogXFxlMDBkO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXRlbnQtYXJyb3ctdHVybi1sZWZ0OiBcXGU1ODA7XG4kZmEtdmFyLXRlbnRzOiBcXGU1ODI7XG4kZmEtdmFyLXdhbmQtbWFnaWM6IFxcZjBkMDtcbiRmYS12YXItbWFnaWM6IFxcZjBkMDtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWNhcnJvdDogXFxmNzg3O1xuJGZhLXZhci1tb29uOiBcXGYxODY7XG4kZmEtdmFyLXdpbmUtZ2xhc3MtZW1wdHk6IFxcZjVjZTtcbiRmYS12YXItd2luZS1nbGFzcy1hbHQ6IFxcZjVjZTtcbiRmYS12YXItY2hlZXNlOiBcXGY3ZWY7XG4kZmEtdmFyLXlpbi15YW5nOiBcXGY2YWQ7XG4kZmEtdmFyLW11c2ljOiBcXGYwMDE7XG4kZmEtdmFyLWNvZGUtY29tbWl0OiBcXGYzODY7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWxvdzogXFxmNzZiO1xuJGZhLXZhci1wZXJzb24tYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1zaGllbGQtaGVhcnQ6IFxcZTU3NDtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1lYXJ0aC1vY2VhbmlhOiBcXGU0N2I7XG4kZmEtdmFyLWdsb2JlLW9jZWFuaWE6IFxcZTQ3YjtcbiRmYS12YXItc3F1YXJlLXhtYXJrOiBcXGYyZDM7XG4kZmEtdmFyLXRpbWVzLXNxdWFyZTogXFxmMmQzO1xuJGZhLXZhci14bWFyay1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXItaGFzaHRhZzogXFwyMztcbiRmYS12YXItdXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcjogXFxmNDI0O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLW9pbC1jYW46IFxcZjYxMztcbiRmYS12YXItdDogXFw1NDtcbiRmYS12YXItaGlwcG86IFxcZjZlZDtcbiRmYS12YXItY2hhcnQtY29sdW1uOiBcXGUwZTM7XG4kZmEtdmFyLWluZmluaXR5OiBcXGY1MzQ7XG4kZmEtdmFyLXZpYWwtY2lyY2xlLWNoZWNrOiBcXGU1OTY7XG4kZmEtdmFyLXBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmU6IFxcZTUzODtcbiRmYS12YXItdm9pY2VtYWlsOiBcXGY4OTc7XG4kZmEtdmFyLWZhbjogXFxmODYzO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1sdWdnYWdlOiBcXGU1NTQ7XG4kZmEtdmFyLXVwLWRvd246IFxcZjMzODtcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWNsb3VkLW1vb24tcmFpbjogXFxmNzNjO1xuJGZhLXZhci1jYWxlbmRhcjogXFxmMTMzO1xuJGZhLXZhci10cmFpbGVyOiBcXGUwNDE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWhheWthbDogXFxmNjY2O1xuJGZhLXZhci1zZC1jYXJkOiBcXGY3YzI7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1zaG9lLXByaW50czogXFxmNTRiO1xuJGZhLXZhci1jaXJjbGUtcGx1czogXFxmMDU1O1xuJGZhLXZhci1wbHVzLWNpcmNsZTogXFxmMDU1O1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXdpbms6IFxcZjU4YjtcbiRmYS12YXItZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1oYW5kLWhvbGRpbmc6IFxcZjRiZDtcbiRmYS12YXItcGx1Zy1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU1ZDtcbiRmYS12YXItbGluay1zbGFzaDogXFxmMTI3O1xuJGZhLXZhci1jaGFpbi1icm9rZW46IFxcZjEyNztcbiRmYS12YXItY2hhaW4tc2xhc2g6IFxcZjEyNztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLWNsb25lOiBcXGYyNGQ7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdDogXFxlNTUxO1xuJGZhLXZhci1hcnJvdy11cC16LWE6IFxcZjg4MjtcbiRmYS12YXItc29ydC1hbHBoYS11cC1hbHQ6IFxcZjg4MjtcbiRmYS12YXItZmlyZS1mbGFtZS1jdXJ2ZWQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItdG9ybmFkbzogXFxmNzZmO1xuJGZhLXZhci1maWxlLWNpcmNsZS1wbHVzOiBcXGU0OTQ7XG4kZmEtdmFyLWJvb2stcXVyYW46IFxcZjY4NztcbiRmYS12YXItcXVyYW46IFxcZjY4NztcbiRmYS12YXItYW5jaG9yOiBcXGYxM2Q7XG4kZmEtdmFyLWJvcmRlci1hbGw6IFxcZjg0YztcbiRmYS12YXItZmFjZS1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1jb29raWUtYml0ZTogXFxmNTY0O1xuJGZhLXZhci1hcnJvdy10cmVuZC1kb3duOiBcXGUwOTc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1mZWVkOiBcXGYwOWU7XG4kZmEtdmFyLWRyYXctcG9seWdvbjogXFxmNWVlO1xuJGZhLXZhci1zY2FsZS1iYWxhbmNlZDogXFxmMjRlO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcXGYyNGU7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZS1oaWdoOiBcXGY2MmE7XG4kZmEtdmFyLXRhY2hvbWV0ZXI6IFxcZjYyYTtcbiRmYS12YXItdGFjaG9tZXRlci1mYXN0OiBcXGY2MmE7XG4kZmEtdmFyLXNob3dlcjogXFxmMmNjO1xuJGZhLXZhci1kZXNrdG9wOiBcXGYzOTA7XG4kZmEtdmFyLWRlc2t0b3AtYWx0OiBcXGYzOTA7XG4kZmEtdmFyLW06IFxcNGQ7XG4kZmEtdmFyLXRhYmxlLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGgtbGlzdDogXFxmMDBiO1xuJGZhLXZhci1jb21tZW50LXNtczogXFxmN2NkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItY2hlY2s6IFxcZjAwYztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0ZXJ5LTQ6IFxcZjI0MTtcbiRmYS12YXItaG91c2UtY2lyY2xlLWNoZWNrOiBcXGU1MDk7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItZGlhZ3JhbS1zdWNjZXNzb3I6IFxcZTQ3YTtcbiRmYS12YXItdHJ1Y2stYXJyb3ctcmlnaHQ6IFxcZTU4YjtcbiRmYS12YXItYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0OiBcXGU0YmM7XG4kZmEtdmFyLWhhbmQtZmlzdDogXFxmNmRlO1xuJGZhLXZhci1maXN0LXJhaXNlZDogXFxmNmRlO1xuJGZhLXZhci1jbG91ZC1tb29uOiBcXGY2YzM7XG4kZmEtdmFyLWJyaWVmY2FzZTogXFxmMGIxO1xuJGZhLXZhci1wZXJzb24tZmFsbGluZzogXFxlNTQ2O1xuJGZhLXZhci1pbWFnZS1wb3J0cmFpdDogXFxmM2UwO1xuJGZhLXZhci1wb3J0cmFpdDogXFxmM2UwO1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci1ydWc6IFxcZTU2OTtcbiRmYS12YXItZWFydGgtZXVyb3BlOiBcXGY3YTI7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1jYXJ0LWZsYXRiZWQtc3VpdGNhc2U6IFxcZjU5ZDtcbiRmYS12YXItbHVnZ2FnZS1jYXJ0OiBcXGY1OWQ7XG4kZmEtdmFyLXJlY3RhbmdsZS14bWFyazogXFxmNDEwO1xuJGZhLXZhci1yZWN0YW5nbGUtdGltZXM6IFxcZjQxMDtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcXGY0MTA7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci1iYWh0LXNpZ246IFxcZTBhYztcbiRmYS12YXItYm9vay1vcGVuOiBcXGY1MTg7XG4kZmEtdmFyLWJvb2stam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItaGFuZGN1ZmZzOiBcXGU0Zjg7XG4kZmEtdmFyLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uOiBcXGYwNzE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLXdhcm5pbmc6IFxcZjA3MTtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItbWFpbC1mb3J3YXJkOiBcXGYwNjQ7XG4kZmEtdmFyLWJvdHRsZS1kcm9wbGV0OiBcXGU0YzQ7XG4kZmEtdmFyLW1hc2stZmFjZTogXFxlMWQ3O1xuJGZhLXZhci1oaWxsLXJvY2tzbGlkZTogXFxlNTA4O1xuJGZhLXZhci1yaWdodC1sZWZ0OiBcXGYzNjI7XG4kZmEtdmFyLWV4Y2hhbmdlLWFsdDogXFxmMzYyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1yb2FkLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTY1O1xuJGZhLXZhci1kdW5nZW9uOiBcXGY2ZDk7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtMS13YXZlOiBcXGY1M2I7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6IFxcZjUzYjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWhhbmRzOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFxcZjJhNztcbiRmYS12YXItc2lnbmluZzogXFxmMmE3O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItd2F0ZXItbGFkZGVyOiBcXGY1YzU7XG4kZmEtdmFyLWxhZGRlci13YXRlcjogXFxmNWM1O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLWFycm93cy11cC1kb3duOiBcXGYwN2Q7XG4kZmEtdmFyLWFycm93cy12OiBcXGYwN2Q7XG4kZmEtdmFyLWZhY2UtZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmltYWNlOiBcXGY1N2Y7XG4kZmEtdmFyLXdoZWVsY2hhaXItbW92ZTogXFxlMmNlO1xuJGZhLXZhci13aGVlbGNoYWlyLWFsdDogXFxlMmNlO1xuJGZhLXZhci10dXJuLWRvd246IFxcZjNiZTtcbiRmYS12YXItbGV2ZWwtZG93bi1hbHQ6IFxcZjNiZTtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQ6IFxcZTU1MjtcbiRmYS12YXItc3F1YXJlLWVudmVsb3BlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmVsb3BlLXNxdWFyZTogXFxmMTk5O1xuJGZhLXZhci1kaWNlOiBcXGY1MjI7XG4kZmEtdmFyLWJvd2xpbmctYmFsbDogXFxmNDM2O1xuJGZhLXZhci1icmFpbjogXFxmNWRjO1xuJGZhLXZhci1iYW5kYWdlOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzOiBcXGYyNzI7XG4kZmEtdmFyLWNpcmNsZS14bWFyazogXFxmMDU3O1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXIteG1hcmstY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWVhcnRoLWFzaWE6IFxcZjU3ZTtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1pZC1jYXJkLWNsaXA6IFxcZjQ3ZjtcbiRmYS12YXItaWQtY2FyZC1hbHQ6IFxcZjQ3ZjtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXRodW1icy11cDogXFxmMTY0O1xuJGZhLXZhci11c2VyLWNsb2NrOiBcXGY0ZmQ7XG4kZmEtdmFyLWhhbmQtZG90czogXFxmNDYxO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXFxmMmQxO1xuJGZhLXZhci1tdWctc2F1Y2VyOiBcXGYwZjQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1tYXNrOiBcXGY2ZmE7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbWludXM6IFxcZjAxMDtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXJ1bGVyLXZlcnRpY2FsOiBcXGY1NDg7XG4kZmEtdmFyLXVzZXItbGFyZ2U6IFxcZjQwNjtcbiRmYS12YXItdXNlci1hbHQ6IFxcZjQwNjtcbiRmYS12YXItdHJhaW4tdHJhbTogXFxlNWI0O1xuJGZhLXZhci11c2VyLW51cnNlOiBcXGY4MmY7XG4kZmEtdmFyLXN5cmluZ2U6IFxcZjQ4ZTtcbiRmYS12YXItY2xvdWQtc3VuOiBcXGY2YzQ7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zcXVhcmUtZnVsbDogXFxmNDVjO1xuJGZhLXZhci1tYWduZXQ6IFxcZjA3NjtcbiRmYS12YXItamFyOiBcXGU1MTY7XG4kZmEtdmFyLW5vdGUtc3RpY2t5OiBcXGYyNDk7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLWJ1Zy1zbGFzaDogXFxlNDkwO1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLXdhdGVyLXB1bXA6IFxcZTRiNjtcbiRmYS12YXItYm9uZTogXFxmNWQ3O1xuJGZhLXZhci11c2VyLWluanVyZWQ6IFxcZjcyODtcbiRmYS12YXItZmFjZS1zYWQtdGVhcjogXFxmNWI0O1xuJGZhLXZhci1zYWQtdGVhcjogXFxmNWI0O1xuJGZhLXZhci1wbGFuZTogXFxmMDcyO1xuJGZhLXZhci10ZW50LWFycm93cy1kb3duOiBcXGU1ODE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcXDIxO1xuJGZhLXZhci1hcnJvd3Mtc3BpbjogXFxlNGJiO1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci10dXJraXNoLWxpcmEtc2lnbjogXFxlMmJiO1xuJGZhLXZhci10cnk6IFxcZTJiYjtcbiRmYS12YXItdHVya2lzaC1saXJhOiBcXGUyYmI7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXDI0O1xuJGZhLXZhci1kb2xsYXI6IFxcMjQ7XG4kZmEtdmFyLXVzZDogXFwyNDtcbiRmYS12YXIteDogXFw1ODtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci11c2Vycy1nZWFyOiBcXGY1MDk7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcG9pbnRpbmc6IFxcZTU0YTtcbiRmYS12YXItYnVpbGRpbmctY29sdW1uczogXFxmMTljO1xuJGZhLXZhci1iYW5rOiBcXGYxOWM7XG4kZmEtdmFyLWluc3RpdHV0aW9uOiBcXGYxOWM7XG4kZmEtdmFyLW11c2V1bTogXFxmMTljO1xuJGZhLXZhci11bml2ZXJzaXR5OiBcXGYxOWM7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXRyb3dlbDogXFxlNTg5O1xuJGZhLXZhci1kOiBcXDQ0O1xuJGZhLXZhci1zdGFwbGVyOiBcXGU1YWY7XG4kZmEtdmFyLW1hc2tzLXRoZWF0ZXI6IFxcZjYzMDtcbiRmYS12YXItdGhlYXRlci1tYXNrczogXFxmNjMwO1xuJGZhLXZhci1raXAtc2lnbjogXFxlMWM0O1xuJGZhLXZhci1oYW5kLXBvaW50LWxlZnQ6IFxcZjBhNTtcbiRmYS12YXItaGFuZHNoYWtlLXNpbXBsZTogXFxmNGM2O1xuJGZhLXZhci1oYW5kc2hha2UtYWx0OiBcXGY0YzY7XG4kZmEtdmFyLWpldC1maWdodGVyOiBcXGYwZmI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLXNxdWFyZS1zaGFyZS1ub2RlczogXFxmMWUxO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcXGYxZTE7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItcGx1cy1taW51czogXFxlNDNjO1xuJGZhLXZhci12aWRlbzogXFxmMDNkO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFxcZjAzZDtcbiRmYS12YXItZ3JhZHVhdGlvbi1jYXA6IFxcZjE5ZDtcbiRmYS12YXItbW9ydGFyLWJvYXJkOiBcXGYxOWQ7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsOiBcXGUwNWM7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtY2hlY2s6IFxcZTUzZTtcbiRmYS12YXItdHVybi11cDogXFxmM2JmO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcblxuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItaG9vbGk6IFxcZjQyNztcbiRmYS12YXIteWVscDogXFxmMWU5O1xuJGZhLXZhci1jYy12aXNhOiBcXGYxZjA7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1zaG9wd2FyZTogXFxmNWI1O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jOiBcXGY0ZTg7XG4kZmEtdmFyLWF3czogXFxmMzc1O1xuJGZhLXZhci1yZWRoYXQ6IFxcZjdiYztcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXItY2xvdWRmbGFyZTogXFxlMDdkO1xuJGZhLXZhci11cHM6IFxcZjdlMDtcbiRmYS12YXItcGl4aXY6IFxcZTY0MDtcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci1keWFsb2c6IFxcZjM5OTtcbiRmYS12YXItYml0eTogXFxmMzdhO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItYnV5c2VsbGFkczogXFxmMjBkO1xuJGZhLXZhci1maXJzdC1vcmRlcjogXFxmMmIwO1xuJGZhLXZhci1tb2R4OiBcXGYyODU7XG4kZmEtdmFyLWd1aWxkZWQ6IFxcZTA3ZTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXNxdWFyZS1qczogXFxmM2I5O1xuJGZhLXZhci1qcy1zcXVhcmU6IFxcZjNiOTtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLW9yY2lkOiBcXGY4ZDI7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItaW52aXNpb246IFxcZjdiMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6IFxcZjRlZDtcbiRmYS12YXItY2VudGVyY29kZTogXFxmMzgwO1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1oaXJlLWEtaGVscGVyOiBcXGYzYjA7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnk6IFxcZjRlNztcbiRmYS12YXItdW5pdHk6IFxcZTA0OTtcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci12azogXFxmMTg5O1xuJGZhLXZhci11bnRhcHBkOiBcXGY0MDU7XG4kZmEtdmFyLW1haWxjaGltcDogXFxmNTllO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1zcXVhcmUtcmVkZGl0OiBcXGYxYTI7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFxcZjFhMjtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci1jb250YW86IFxcZjI2ZDtcbiRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZTogXFxlNWFkO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWJyYXZlOiBcXGU2M2M7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc3F1YXJlLWluc3RhZ3JhbTogXFxlMDU1O1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWJhdHRsZS1uZXQ6IFxcZjgzNTtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXNxdWFyZS1oYWNrZXItbmV3czogXFxmM2FmO1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItZWRnZTogXFxmMjgyO1xuJGZhLXZhci10aHJlYWRzOiBcXGU2MTg7XG4kZmEtdmFyLW5hcHN0ZXI6IFxcZjNkMjtcbiRmYS12YXItc3F1YXJlLXNuYXBjaGF0OiBcXGYyYWQ7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXFxmMmFkO1xuJGZhLXZhci1nb29nbGUtcGx1cy1nOiBcXGYwZDU7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItbWFya2Rvd246IFxcZjYwZjtcbiRmYS12YXItc291cmNldHJlZTogXFxmN2QzO1xuJGZhLXZhci1nb29nbGUtcGx1czogXFxmMmIzO1xuJGZhLXZhci1kaWFzcG9yYTogXFxmNzkxO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcXGYxNmM7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItcGhvZW5peC1zcXVhZHJvbjogXFxmNTExO1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYTogXFxmNGVmO1xuJGZhLXZhci1zYWZhcmk6IFxcZjI2NztcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlOiBcXGYzNWM7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQ6IFxcZjM1YztcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWxpbmtlZGluLWluOiBcXGYwZTE7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItbmltYmxyOiBcXGY1YTg7XG4kZmEtdmFyLWNocm9tZWNhc3Q6IFxcZjgzODtcbiRmYS12YXItZXZlcm5vdGU6IFxcZjgzOTtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1hZHZlcnNhbDogXFxmMzZhO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOiBcXGYyNWU7XG4kZmEtdmFyLXdhdGNobWFuLW1vbml0b3Jpbmc6IFxcZTA4NztcbiRmYS12YXItZm9udGljb25zOiBcXGYyODA7XG4kZmEtdmFyLXdlaXhpbjogXFxmMWQ3O1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItY29kZXBlbjogXFxmMWNiO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWx5ZnQ6IFxcZjNjMztcbiRmYS12YXItcmV2OiBcXGY1YjI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItc3F1YXJlLXZpYWRlbzogXFxmMmFhO1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1jZW50b3M6IFxcZjc4OTtcbiRmYS12YXItYWRuOiBcXGYxNzA7XG4kZmEtdmFyLWNsb3Vkc21pdGg6IFxcZjM4NDtcbiRmYS12YXItb3BlbnN1c2U6IFxcZTYyYjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItc3F1YXJlLWRyaWJiYmxlOiBcXGYzOTc7XG4kZmEtdmFyLWRyaWJiYmxlLXNxdWFyZTogXFxmMzk3O1xuJGZhLXZhci1jb2RpZXBpZTogXFxmMjg0O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1jYy1hcHBsZS1wYXk6IFxcZjQxNjtcbiRmYS12YXItc2NyaWJkOiBcXGYyOGE7XG4kZmEtdmFyLWRlYmlhbjogXFxlNjBiO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItaW5zdGFsb2Q6IFxcZTA4MTtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcXGYyM2U7XG4kZmEtdmFyLXNlbGxjYXN0OiBcXGYyZGE7XG4kZmEtdmFyLXNxdWFyZS10d2l0dGVyOiBcXGYwODE7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcXGYwODE7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1kZWxpY2lvdXM6IFxcZjFhNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci12dWVqczogXFxmNDFmO1xuJGZhLXZhci1hY2N1c29mdDogXFxmMzY5O1xuJGZhLXZhci1pb3hob3N0OiBcXGYyMDg7XG4kZmEtdmFyLWZvbnRpY29ucy1maTogXFxmM2EyO1xuJGZhLXZhci1hcHAtc3RvcmU6IFxcZjM2ZjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXFxmMWYxO1xuJGZhLXZhci1pdHVuZXMtbm90ZTogXFxmM2I1O1xuJGZhLXZhci1nb2xhbmc6IFxcZTQwZjtcbiRmYS12YXIta2lja3N0YXJ0ZXI6IFxcZjNiYjtcbiRmYS12YXItZ3JhdjogXFxmMmQ2O1xuJGZhLXZhci13ZWlibzogXFxmMThhO1xuJGZhLXZhci11bmNoYXJ0ZWQ6IFxcZTA4NDtcbiRmYS12YXItZmlyc3RkcmFmdDogXFxmM2ExO1xuJGZhLXZhci1zcXVhcmUteW91dHViZTogXFxmNDMxO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXJlbmRhY3Q6IFxcZjNlNDtcbiRmYS12YXItYW5nZWxsaXN0OiBcXGYyMDk7XG4kZmEtdmFyLWdhbGFjdGljLXJlcHVibGljOiBcXGY1MGM7XG4kZmEtdmFyLW5mYy1kaXJlY3Rpb25hbDogXFxlNTMwO1xuJGZhLXZhci1za3lwZTogXFxmMTdlO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItbWV0YTogXFxlNDliO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1zcXVhcmUtbGV0dGVyYm94ZDogXFxlNjJlO1xuJGZhLXZhci1zdGlja2VyLW11bGU6IFxcZjNmNztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvOiBcXGY0ZjM7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItYmVoYW5jZTogXFxmMWI0O1xuJGZhLXZhci1yZWRkaXQ6IFxcZjFhMTtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItYXBwLXN0b3JlLWlvczogXFxmMzcwO1xuJGZhLXZhci1jYy1kaXNjb3ZlcjogXFxmMWYyO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLWNvbmZsdWVuY2U6IFxcZjc4ZDtcbiRmYS12YXItc2hvZWxhY2U6IFxcZTYwYztcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1hbWF6b246IFxcZjI3MDtcbiRmYS12YXItdW5zcGxhc2g6IFxcZTA3YztcbiRmYS12YXIteWFybjogXFxmN2UzO1xuJGZhLXZhci1zcXVhcmUtc3RlYW06IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcXGYxYjc7XG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLXNxdWFyZS12aW1lbzogXFxmMTk0O1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItYXN5bW1ldHJpazogXFxmMzcyO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWZsYWc6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbDogXFxmMmI0O1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1hcHBsZTogXFxmMTc5O1xuJGZhLXZhci1oaXZlOiBcXGUwN2Y7XG4kZmEtdmFyLWdpdGtyYWtlbjogXFxmM2E2O1xuJGZhLXZhci1rZXliYXNlOiBcXGY0ZjU7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1wYWRsZXQ6IFxcZTRhMDtcbiRmYS12YXItYW1hem9uLXBheTogXFxmNDJjO1xuJGZhLXZhci1zcXVhcmUtZ2l0aHViOiBcXGYwOTI7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFxcZjA5MjtcbiRmYS12YXItc3R1bWJsZXVwb246IFxcZjFhNDtcbiRmYS12YXItZmVkZXg6IFxcZjc5NztcbiRmYS12YXItcGhvZW5peC1mcmFtZXdvcms6IFxcZjNkYztcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1uZW9zOiBcXGY2MTI7XG4kZmEtdmFyLXNxdWFyZS10aHJlYWRzOiBcXGU2MTk7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItcmVzZWFyY2hnYXRlOiBcXGY0Zjg7XG4kZmEtdmFyLXN3aWZ0OiBcXGY4ZTE7XG4kZmEtdmFyLWFuZ3VsYXI6IFxcZjQyMDtcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1hbmdyeWNyZWF0aXZlOiBcXGYzNmU7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXFxmMjNiO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52aXJhOiBcXGYyOTk7XG4kZmEtdmFyLWdvb2dsZS1zY2hvbGFyOiBcXGU2M2I7XG4kZmEtdmFyLXNxdWFyZS1naXRsYWI6IFxcZTVhZTtcbiRmYS12YXItZ2l0bGFiLXNxdWFyZTogXFxlNWFlO1xuJGZhLXZhci1zdHVkaW92aW5hcmk6IFxcZjNmODtcbiRmYS12YXItcGllZC1waXBlcjogXFxmMmFlO1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLWZpcmVmb3g6IFxcZjI2OTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1zcXVhcmUtb2Rub2tsYXNzbmlraTogXFxmMjY0O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1qc2ZpZGRsZTogXFxmMWNjO1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXRoZW1laXNsZTogXFxmMmIyO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1oYXNobm9kZTogXFxlNDk5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1jYy1wYXlwYWw6IFxcZjFmNDtcbiRmYS12YXItc3F1YXJlc3BhY2U6IFxcZjViZTtcbiRmYS12YXItY2Mtc3RyaXBlOiBcXGYxZjU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6IFxcZjRmMjtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItaXRjaC1pbzogXFxmODNhO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLWdhbGFjdGljLXNlbmF0ZTogXFxmNTBkO1xuJGZhLXZhci11YnVudHU6IFxcZjdkZjtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItaG91eno6IFxcZjI3YztcbiRmYS12YXItZ2c6IFxcZjI2MDtcbiRmYS12YXItZGhsOiBcXGY3OTA7XG4kZmEtdmFyLXNxdWFyZS1waW50ZXJlc3Q6IFxcZjBkMztcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci14aW5nOiBcXGYxNjg7XG4kZmEtdmFyLWJsYWNrYmVycnk6IFxcZjM3YjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1xdWluc2NhcGU6IFxcZjQ1OTtcbiRmYS12YXItbGVzczogXFxmNDFkO1xuJGZhLXZhci1ibG9nZ2VyLWI6IFxcZjM3ZDtcbiRmYS12YXItb3BlbmNhcnQ6IFxcZjIzZDtcbiRmYS12YXItdmluZTogXFxmMWNhO1xuJGZhLXZhci1zaWduYWwtbWVzc2VuZ2VyOiBcXGU2NjM7XG4kZmEtdmFyLXBheXBhbDogXFxmMWVkO1xuJGZhLXZhci1naXRsYWI6IFxcZjI5NjtcbiRmYS12YXItdHlwbzM6IFxcZjQyYjtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcXGYyODE7XG4kZmEtdmFyLXlhaG9vOiBcXGYxOWU7XG4kZmEtdmFyLWRhaWx5bW90aW9uOiBcXGUwNTI7XG4kZmEtdmFyLWFmZmlsaWF0ZXRoZW1lOiBcXGYzNmI7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFxcZjFhNztcbiRmYS12YXItYm9vdHN0cmFwOiBcXGY4MzY7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFxcZjI2MztcbiRmYS12YXItbmZjLXN5bWJvbDogXFxlNTMxO1xuJGZhLXZhci1taW50Yml0OiBcXGU2MmY7XG4kZmEtdmFyLWV0aGVyZXVtOiBcXGY0MmU7XG4kZmEtdmFyLXNwZWFrZXItZGVjazogXFxmODNjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OiBcXGY0ZTk7XG4kZmEtdmFyLXBhdHJlb246IFxcZjNkOTtcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1lbGxvOiBcXGY1ZjE7XG4kZmEtdmFyLWdvZm9yZTogXFxmM2E3O1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYnJhdmUtcmV2ZXJzZTogXFxlNjNkO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLXNxdWFyZS1nb29nbGUtcGx1czogXFxmMGQ0O1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFxcZjBkNDtcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItZmlyc3Qtb3JkZXItYWx0OiBcXGY1MGE7XG4kZmEtdmFyLW9zaTogXFxmNDFhO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcXGYxZWU7XG4kZmEtdmFyLWQtYW5kLWQtYmV5b25kOiBcXGY2Y2E7XG4kZmEtdmFyLXBlcmlzY29wZTogXFxmM2RhO1xuJGZhLXZhci1mdWxjcnVtOiBcXGY1MGI7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLXNjaGxpeDogXFxmM2VhO1xuJGZhLXZhci1zcXVhcmUteGluZzogXFxmMTY5O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci1iYW5kY2FtcDogXFxmMmQ1O1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLWNsb3VkdmVyc2lmeTogXFxmMzg1O1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLW1lZ2Fwb3J0OiBcXGY1YTM7XG4kZmEtdmFyLW1hZ2VudG86IFxcZjNjNDtcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcXGYyM2M7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWN1dHRsZWZpc2g6IFxcZjM4YztcbiRmYS12YXItYmxvZ2dlcjogXFxmMzdjO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLXRlbmNlbnQtd2VpYm86IFxcZjFkNTtcbiRmYS12YXItbGV0dGVyYm94ZDogXFxlNjJkO1xuJGZhLXZhci1zeW1mb255OiBcXGY4M2Q7XG4kZmEtdmFyLW1heGNkbjogXFxmMTM2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1hdWRpYmxlOiBcXGYzNzM7XG4kZmEtdmFyLXRoaW5rLXBlYWtzOiBcXGY3MzE7XG4kZmEtdmFyLWJpbGliaWxpOiBcXGUzZDk7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci14LXR3aXR0ZXI6IFxcZTYxYjtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1kYXNoY3ViZTogXFxmMjEwO1xuJGZhLXZhci00Mi1ncm91cDogXFxlMDgwO1xuJGZhLXZhci1pbm5vc29mdDogXFxlMDgwO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1lbGVtZW50b3I6IFxcZjQzMDtcbiRmYS12YXItc3F1YXJlLXBpZWQtcGlwZXI6IFxcZTAxZTtcbiRmYS12YXItcGllZC1waXBlci1zcXVhcmU6IFxcZTAxZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZDogXFxmNGViO1xuJGZhLXZhci1wYWxmZWQ6IFxcZjNkODtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFxcZjJkZDtcbiRmYS12YXItcmVzb2x2aW5nOiBcXGYzZTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXItc2VhcmNoZW5naW46IFxcZjNlYjtcbiRmYS12YXItdGlrdG9rOiBcXGUwN2I7XG4kZmEtdmFyLXNxdWFyZS1mYWNlYm9vazogXFxmMDgyO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItcmVucmVuOiBcXGYxOGI7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWdsaWRlOiBcXGYyYTU7XG4kZmEtdmFyLWxpbmtlZGluOiBcXGYwOGM7XG4kZmEtdmFyLWh1YnNwb3Q6IFxcZjNiMjtcbiRmYS12YXItZGVwbG95ZG9nOiBcXGYzOGU7XG4kZmEtdmFyLXR3aXRjaDogXFxmMWU4O1xuJGZhLXZhci1yYXZlbHJ5OiBcXGYyZDk7XG4kZmEtdmFyLW1peGVyOiBcXGUwNTY7XG4kZmEtdmFyLXNxdWFyZS1sYXN0Zm06IFxcZjIwMztcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXFxmMjAzO1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci1maWdtYTogXFxmNzk5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNjLWFtYXpvbi1wYXk6IFxcZjQyZDtcbiRmYS12YXItZHJvcGJveDogXFxmMTZiO1xuJGZhLXZhci1pbnN0YWdyYW06IFxcZjE2ZDtcbiRmYS12YXItY21wbGlkOiBcXGUzNjA7XG4kZmEtdmFyLXVwd29yazogXFxlNjQxO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1ncmlwZmlyZTogXFxmM2FjO1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLXVpa2l0OiBcXGY0MDM7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItcGhhYnJpY2F0b3I6IFxcZjNkYjtcbiRmYS12YXItdXNzdW5uYWg6IFxcZjQwNztcbiRmYS12YXItZWFybHliaXJkczogXFxmMzlhO1xuJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uOiBcXGY1MTM7XG4kZmEtdmFyLWF1dG9wcmVmaXhlcjogXFxmNDFjO1xuJGZhLXZhci13aGF0c2FwcDogXFxmMjMyO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcXGYxZTc7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1zZXJ2aWNlc3RhY2s6IFxcZjNlYztcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFxcZjIxNTtcbiRmYS12YXItYml0YnVja2V0OiBcXGYxNzE7XG4kZmEtdmFyLWltZGI6IFxcZjJkODtcbiRmYS12YXItZGVlemVyOiBcXGUwNzc7XG4kZmEtdmFyLXJhc3BiZXJyeS1waTogXFxmN2JiO1xuJGZhLXZhci1qaXJhOiBcXGY3YjE7XG4kZmEtdmFyLWRvY2tlcjogXFxmMzk1O1xuJGZhLXZhci1zY3JlZW5wYWw6IFxcZTU3MDtcbiRmYS12YXItYmx1ZXRvb3RoOiBcXGYyOTM7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1kLWFuZC1kOiBcXGYzOGQ7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXFxmMjRjO1xuJGZhLXZhci1nZy1jaXJjbGU6IFxcZjI2MTtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXIta2lja3N0YXJ0ZXItazogXFxmM2JjO1xuJGZhLXZhci15YW5kZXg6IFxcZjQxMztcbiRmYS12YXItcmVhZG1lOiBcXGY0ZDU7XG4kZmEtdmFyLWh0bWw1OiBcXGYxM2I7XG4kZmEtdmFyLXNlbGxzeTogXFxmMjEzO1xuJGZhLXZhci1zYXNzOiBcXGY0MWU7XG4kZmEtdmFyLXdpcnNpbmRoYW5kd2VyazogXFxlMmQwO1xuJGZhLXZhci13c2g6IFxcZTJkMDtcbiRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZTogXFxmMzdmO1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLW9jdG9wdXMtZGVwbG95OiBcXGUwODI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcXGYyMzE7XG4kZmEtdmFyLWFwcGVyOiBcXGYzNzE7XG4kZmEtdmFyLWZvcnQtYXdlc29tZTogXFxmMjg2O1xuJGZhLXZhci13YXplOiBcXGY4M2Y7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1zbmFwY2hhdDogXFxmMmFiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXFxmMmFiO1xuJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lczogXFxmNmRjO1xuJGZhLXZhci1ydXN0OiBcXGUwN2E7XG4kZmEtdmFyLXdpeDogXFxmNWNmO1xuJGZhLXZhci1zcXVhcmUtYmVoYW5jZTogXFxmMWI1O1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXFxmMWI1O1xuJGZhLXZhci1zdXBwbGU6IFxcZjNmOTtcbiRmYS12YXItd2ViZmxvdzogXFxlNjVjO1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1jc3MzOiBcXGYxM2M7XG4kZmEtdmFyLXN0YXlsaW5rZWQ6IFxcZjNmNTtcbiRmYS12YXIta2FnZ2xlOiBcXGY1ZmE7XG4kZmEtdmFyLXNwYWNlLWF3ZXNvbWU6IFxcZTVhYztcbiRmYS12YXItZGV2aWFudGFydDogXFxmMWJkO1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItc3F1YXJlLWdpdDogXFxmMWQyO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcXGYxZDI7XG4kZmEtdmFyLXNxdWFyZS10dW1ibHI6IFxcZjE3NDtcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10cmVsbG86IFxcZjE4MTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcDogXFxmNGVhO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLXBlcmJ5dGU6IFxcZTA4MztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWxlYW5wdWI6IFxcZjIxMjtcbiRmYS12YXItYmxhY2stdGllOiBcXGYyN2U7XG4kZmEtdmFyLXRoZW1lY286IFxcZjVjNjtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLWFuZHJvaWQ6IFxcZjE3YjtcbiRmYS12YXItYm90czogXFxlMzQwO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXFxmMmM1O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1qczogXFxmM2I4O1xuJGZhLXZhci1pZGVhbDogXFxlMDEzO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLXNrZXRjaDogXFxmN2M2O1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci1jYy1hbWV4OiBcXGYxZjM7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLXBocDogXFxmNDU3O1xuJGZhLXZhci1hbGlwYXk6IFxcZjY0MjtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci1za3lhdGxhczogXFxmMjE2O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItcmVwbHlkOiBcXGYzZTY7XG4kZmEtdmFyLXN1c2U6IFxcZjdkNjtcbiRmYS12YXItamVua2luczogXFxmM2I2O1xuJGZhLXZhci10d2l0dGVyOiBcXGYwOTk7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcGludGVyZXN0OiBcXGYwZDI7XG4kZmEtdmFyLWJ1ZmZlcjogXFxmODM3O1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLWJ0YzogXFxmMTVhO1xuJGZhLXZhci1kcmliYmJsZTogXFxmMTdkO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFxcZjFhMztcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFxcZjI2YjtcbiRmYS12YXItc3R1YmJlcjogXFxlNWM3O1xuJGZhLXZhci10ZWxlZ3JhbTogXFxmMmM2O1xuJGZhLXZhci10ZWxlZ3JhbS1wbGFuZTogXFxmMmM2O1xuJGZhLXZhci1vbGQtcmVwdWJsaWM6IFxcZjUxMDtcbiRmYS12YXItb2R5c2VlOiBcXGU1YzY7XG4kZmEtdmFyLXNxdWFyZS13aGF0c2FwcDogXFxmNDBjO1xuJGZhLXZhci13aGF0c2FwcC1zcXVhcmU6IFxcZjQwYztcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1lZGdlLWxlZ2FjeTogXFxlMDc4O1xuJGZhLXZhci1zbGFjazogXFxmMTk4O1xuJGZhLXZhci1zbGFjay1oYXNoOiBcXGYxOTg7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXF1b3JhOiBcXGYyYzQ7XG4kZmEtdmFyLXNxdWFyZS14LXR3aXR0ZXI6IFxcZTYxYTtcbiRmYS12YXItcmVhY3RldXJvcGU6IFxcZjc1ZDtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYyM2E7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1mbGlwYm9hcmQ6IFxcZjQ0ZDtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci1jcml0aWNhbC1yb2xlOiBcXGY2Yzk7XG4kZmEtdmFyLXNpdHJveDogXFxlNDRhO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItam9vbWxhOiBcXGYxYWE7XG4kZmEtdmFyLW1hc3RvZG9uOiBcXGY0ZjY7XG4kZmEtdmFyLWFpcmJuYjogXFxmODM0O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLWJ1eS1uLWxhcmdlOiBcXGY4YTY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOiBcXGY0ZjE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLXRlYW1zcGVhazogXFxmNGY5O1xuJGZhLXZhci1wdXNoZWQ6IFxcZjNlMTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci13b2R1OiBcXGUwODg7XG4kZmEtdmFyLWdvb2dsZS1wYXk6IFxcZTA3OTtcbiRmYS12YXItaW50ZXJjb206IFxcZjdhZjtcbiRmYS12YXItemhpaHU6IFxcZjYzZjtcbiRmYS12YXIta29ydnVlOiBcXGY0MmY7XG4kZmEtdmFyLXBpeDogXFxlNDNhO1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcblxuJGZhLWljb25zOiAoXG4gIFwiMFwiOiAkZmEtdmFyLTAsXG4gIFwiMVwiOiAkZmEtdmFyLTEsXG4gIFwiMlwiOiAkZmEtdmFyLTIsXG4gIFwiM1wiOiAkZmEtdmFyLTMsXG4gIFwiNFwiOiAkZmEtdmFyLTQsXG4gIFwiNVwiOiAkZmEtdmFyLTUsXG4gIFwiNlwiOiAkZmEtdmFyLTYsXG4gIFwiN1wiOiAkZmEtdmFyLTcsXG4gIFwiOFwiOiAkZmEtdmFyLTgsXG4gIFwiOVwiOiAkZmEtdmFyLTksXG4gIFwiZmlsbC1kcmlwXCI6ICRmYS12YXItZmlsbC1kcmlwLFxuICBcImFycm93cy10by1jaXJjbGVcIjogJGZhLXZhci1hcnJvd3MtdG8tY2lyY2xlLFxuICBcImNpcmNsZS1jaGV2cm9uLXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tcmlnaHQsXG4gIFwiY2hldnJvbi1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodCxcbiAgXCJhdFwiOiAkZmEtdmFyLWF0LFxuICBcInRyYXNoLWNhblwiOiAkZmEtdmFyLXRyYXNoLWNhbixcbiAgXCJ0cmFzaC1hbHRcIjogJGZhLXZhci10cmFzaC1hbHQsXG4gIFwidGV4dC1oZWlnaHRcIjogJGZhLXZhci10ZXh0LWhlaWdodCxcbiAgXCJ1c2VyLXhtYXJrXCI6ICRmYS12YXItdXNlci14bWFyayxcbiAgXCJ1c2VyLXRpbWVzXCI6ICRmYS12YXItdXNlci10aW1lcyxcbiAgXCJzdGV0aG9zY29wZVwiOiAkZmEtdmFyLXN0ZXRob3Njb3BlLFxuICBcIm1lc3NhZ2VcIjogJGZhLXZhci1tZXNzYWdlLFxuICBcImNvbW1lbnQtYWx0XCI6ICRmYS12YXItY29tbWVudC1hbHQsXG4gIFwiaW5mb1wiOiAkZmEtdmFyLWluZm8sXG4gIFwiZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXJcIjogJGZhLXZhci1kb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcixcbiAgXCJjb21wcmVzcy1hbHRcIjogJGZhLXZhci1jb21wcmVzcy1hbHQsXG4gIFwiZXhwbG9zaW9uXCI6ICRmYS12YXItZXhwbG9zaW9uLFxuICBcImZpbGUtbGluZXNcIjogJGZhLXZhci1maWxlLWxpbmVzLFxuICBcImZpbGUtYWx0XCI6ICRmYS12YXItZmlsZS1hbHQsXG4gIFwiZmlsZS10ZXh0XCI6ICRmYS12YXItZmlsZS10ZXh0LFxuICBcIndhdmUtc3F1YXJlXCI6ICRmYS12YXItd2F2ZS1zcXVhcmUsXG4gIFwicmluZ1wiOiAkZmEtdmFyLXJpbmcsXG4gIFwiYnVpbGRpbmctdW5cIjogJGZhLXZhci1idWlsZGluZy11bixcbiAgXCJkaWNlLXRocmVlXCI6ICRmYS12YXItZGljZS10aHJlZSxcbiAgXCJjYWxlbmRhci1kYXlzXCI6ICRmYS12YXItY2FsZW5kYXItZGF5cyxcbiAgXCJjYWxlbmRhci1hbHRcIjogJGZhLXZhci1jYWxlbmRhci1hbHQsXG4gIFwiYW5jaG9yLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUtY2hlY2ssXG4gIFwiYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcInZvbGxleWJhbGxcIjogJGZhLXZhci12b2xsZXliYWxsLFxuICBcInZvbGxleWJhbGwtYmFsbFwiOiAkZmEtdmFyLXZvbGxleWJhbGwtYmFsbCxcbiAgXCJhcnJvd3MtdXAtdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy11cC10by1saW5lLFxuICBcInNvcnQtZG93blwiOiAkZmEtdmFyLXNvcnQtZG93bixcbiAgXCJzb3J0LWRlc2NcIjogJGZhLXZhci1zb3J0LWRlc2MsXG4gIFwiY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItY2lyY2xlLW1pbnVzLFxuICBcIm1pbnVzLWNpcmNsZVwiOiAkZmEtdmFyLW1pbnVzLWNpcmNsZSxcbiAgXCJkb29yLW9wZW5cIjogJGZhLXZhci1kb29yLW9wZW4sXG4gIFwicmlnaHQtZnJvbS1icmFja2V0XCI6ICRmYS12YXItcmlnaHQtZnJvbS1icmFja2V0LFxuICBcInNpZ24tb3V0LWFsdFwiOiAkZmEtdmFyLXNpZ24tb3V0LWFsdCxcbiAgXCJhdG9tXCI6ICRmYS12YXItYXRvbSxcbiAgXCJzb2FwXCI6ICRmYS12YXItc29hcCxcbiAgXCJpY29uc1wiOiAkZmEtdmFyLWljb25zLFxuICBcImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0XCI6ICRmYS12YXItaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHQsXG4gIFwibWljcm9waG9uZS1saW5lcy1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMtc2xhc2gsXG4gIFwibWljcm9waG9uZS1hbHQtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCxcbiAgXCJicmlkZ2UtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS1jaGVjayxcbiAgXCJwdW1wLW1lZGljYWxcIjogJGZhLXZhci1wdW1wLW1lZGljYWwsXG4gIFwiZmluZ2VycHJpbnRcIjogJGZhLXZhci1maW5nZXJwcmludCxcbiAgXCJoYW5kLXBvaW50LXJpZ2h0XCI6ICRmYS12YXItaGFuZC1wb2ludC1yaWdodCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbixcbiAgXCJzZWFyY2gtbG9jYXRpb25cIjogJGZhLXZhci1zZWFyY2gtbG9jYXRpb24sXG4gIFwiZm9yd2FyZC1zdGVwXCI6ICRmYS12YXItZm9yd2FyZC1zdGVwLFxuICBcInN0ZXAtZm9yd2FyZFwiOiAkZmEtdmFyLXN0ZXAtZm9yd2FyZCxcbiAgXCJmYWNlLXNtaWxlLWJlYW1cIjogJGZhLXZhci1mYWNlLXNtaWxlLWJlYW0sXG4gIFwic21pbGUtYmVhbVwiOiAkZmEtdmFyLXNtaWxlLWJlYW0sXG4gIFwiZmxhZy1jaGVja2VyZWRcIjogJGZhLXZhci1mbGFnLWNoZWNrZXJlZCxcbiAgXCJmb290YmFsbFwiOiAkZmEtdmFyLWZvb3RiYWxsLFxuICBcImZvb3RiYWxsLWJhbGxcIjogJGZhLXZhci1mb290YmFsbC1iYWxsLFxuICBcInNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNyb3BcIjogJGZhLXZhci1jcm9wLFxuICBcImFuZ2xlcy1kb3duXCI6ICRmYS12YXItYW5nbGVzLWRvd24sXG4gIFwiYW5nbGUtZG91YmxlLWRvd25cIjogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bixcbiAgXCJ1c2Vycy1yZWN0YW5nbGVcIjogJGZhLXZhci11c2Vycy1yZWN0YW5nbGUsXG4gIFwicGVvcGxlLXJvb2ZcIjogJGZhLXZhci1wZW9wbGUtcm9vZixcbiAgXCJwZW9wbGUtbGluZVwiOiAkZmEtdmFyLXBlb3BsZS1saW5lLFxuICBcImJlZXItbXVnLWVtcHR5XCI6ICRmYS12YXItYmVlci1tdWctZW1wdHksXG4gIFwiYmVlclwiOiAkZmEtdmFyLWJlZXIsXG4gIFwiZGlhZ3JhbS1wcmVkZWNlc3NvclwiOiAkZmEtdmFyLWRpYWdyYW0tcHJlZGVjZXNzb3IsXG4gIFwiYXJyb3ctdXAtbG9uZ1wiOiAkZmEtdmFyLWFycm93LXVwLWxvbmcsXG4gIFwibG9uZy1hcnJvdy11cFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctdXAsXG4gIFwiZmlyZS1mbGFtZS1zaW1wbGVcIjogJGZhLXZhci1maXJlLWZsYW1lLXNpbXBsZSxcbiAgXCJidXJuXCI6ICRmYS12YXItYnVybixcbiAgXCJwZXJzb25cIjogJGZhLXZhci1wZXJzb24sXG4gIFwibWFsZVwiOiAkZmEtdmFyLW1hbGUsXG4gIFwibGFwdG9wXCI6ICRmYS12YXItbGFwdG9wLFxuICBcImZpbGUtY3N2XCI6ICRmYS12YXItZmlsZS1jc3YsXG4gIFwibWVub3JhaFwiOiAkZmEtdmFyLW1lbm9yYWgsXG4gIFwidHJ1Y2stcGxhbmVcIjogJGZhLXZhci10cnVjay1wbGFuZSxcbiAgXCJyZWNvcmQtdmlueWxcIjogJGZhLXZhci1yZWNvcmQtdmlueWwsXG4gIFwiZmFjZS1ncmluLXN0YXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXN0YXJzLFxuICBcImdyaW4tc3RhcnNcIjogJGZhLXZhci1ncmluLXN0YXJzLFxuICBcImJvbmdcIjogJGZhLXZhci1ib25nLFxuICBcInNwYWdoZXR0aS1tb25zdGVyLWZseWluZ1wiOiAkZmEtdmFyLXNwYWdoZXR0aS1tb25zdGVyLWZseWluZyxcbiAgXCJwYXN0YWZhcmlhbmlzbVwiOiAkZmEtdmFyLXBhc3RhZmFyaWFuaXNtLFxuICBcImFycm93LWRvd24tdXAtYWNyb3NzLWxpbmVcIjogJGZhLXZhci1hcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lLFxuICBcInNwb29uXCI6ICRmYS12YXItc3Bvb24sXG4gIFwidXRlbnNpbC1zcG9vblwiOiAkZmEtdmFyLXV0ZW5zaWwtc3Bvb24sXG4gIFwiamFyLXdoZWF0XCI6ICRmYS12YXItamFyLXdoZWF0LFxuICBcImVudmVsb3Blcy1idWxrXCI6ICRmYS12YXItZW52ZWxvcGVzLWJ1bGssXG4gIFwibWFpbC1idWxrXCI6ICRmYS12YXItbWFpbC1idWxrLFxuICBcImZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2lyY2xlLWhcIjogJGZhLXZhci1jaXJjbGUtaCxcbiAgXCJob3NwaXRhbC1zeW1ib2xcIjogJGZhLXZhci1ob3NwaXRhbC1zeW1ib2wsXG4gIFwicGFnZXJcIjogJGZhLXZhci1wYWdlcixcbiAgXCJhZGRyZXNzLWJvb2tcIjogJGZhLXZhci1hZGRyZXNzLWJvb2ssXG4gIFwiY29udGFjdC1ib29rXCI6ICRmYS12YXItY29udGFjdC1ib29rLFxuICBcInN0cmlrZXRocm91Z2hcIjogJGZhLXZhci1zdHJpa2V0aHJvdWdoLFxuICBcImtcIjogJGZhLXZhci1rLFxuICBcImxhbmRtYXJrLWZsYWdcIjogJGZhLXZhci1sYW5kbWFyay1mbGFnLFxuICBcInBlbmNpbFwiOiAkZmEtdmFyLXBlbmNpbCxcbiAgXCJwZW5jaWwtYWx0XCI6ICRmYS12YXItcGVuY2lsLWFsdCxcbiAgXCJiYWNrd2FyZFwiOiAkZmEtdmFyLWJhY2t3YXJkLFxuICBcImNhcmV0LXJpZ2h0XCI6ICRmYS12YXItY2FyZXQtcmlnaHQsXG4gIFwiY29tbWVudHNcIjogJGZhLXZhci1jb21tZW50cyxcbiAgXCJwYXN0ZVwiOiAkZmEtdmFyLXBhc3RlLFxuICBcImZpbGUtY2xpcGJvYXJkXCI6ICRmYS12YXItZmlsZS1jbGlwYm9hcmQsXG4gIFwiY29kZS1wdWxsLXJlcXVlc3RcIjogJGZhLXZhci1jb2RlLXB1bGwtcmVxdWVzdCxcbiAgXCJjbGlwYm9hcmQtbGlzdFwiOiAkZmEtdmFyLWNsaXBib2FyZC1saXN0LFxuICBcInRydWNrLXJhbXAtYm94XCI6ICRmYS12YXItdHJ1Y2stcmFtcC1ib3gsXG4gIFwidHJ1Y2stbG9hZGluZ1wiOiAkZmEtdmFyLXRydWNrLWxvYWRpbmcsXG4gIFwidXNlci1jaGVja1wiOiAkZmEtdmFyLXVzZXItY2hlY2ssXG4gIFwidmlhbC12aXJ1c1wiOiAkZmEtdmFyLXZpYWwtdmlydXMsXG4gIFwic2hlZXQtcGxhc3RpY1wiOiAkZmEtdmFyLXNoZWV0LXBsYXN0aWMsXG4gIFwiYmxvZ1wiOiAkZmEtdmFyLWJsb2csXG4gIFwidXNlci1uaW5qYVwiOiAkZmEtdmFyLXVzZXItbmluamEsXG4gIFwicGVyc29uLWFycm93LXVwLWZyb20tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUsXG4gIFwic2Nyb2xsLXRvcmFoXCI6ICRmYS12YXItc2Nyb2xsLXRvcmFoLFxuICBcInRvcmFoXCI6ICRmYS12YXItdG9yYWgsXG4gIFwiYnJvb20tYmFsbFwiOiAkZmEtdmFyLWJyb29tLWJhbGwsXG4gIFwicXVpZGRpdGNoXCI6ICRmYS12YXItcXVpZGRpdGNoLFxuICBcInF1aWRkaXRjaC1icm9vbS1iYWxsXCI6ICRmYS12YXItcXVpZGRpdGNoLWJyb29tLWJhbGwsXG4gIFwidG9nZ2xlLW9mZlwiOiAkZmEtdmFyLXRvZ2dsZS1vZmYsXG4gIFwiYm94LWFyY2hpdmVcIjogJGZhLXZhci1ib3gtYXJjaGl2ZSxcbiAgXCJhcmNoaXZlXCI6ICRmYS12YXItYXJjaGl2ZSxcbiAgXCJwZXJzb24tZHJvd25pbmdcIjogJGZhLXZhci1wZXJzb24tZHJvd25pbmcsXG4gIFwiYXJyb3ctZG93bi05LTFcIjogJGZhLXZhci1hcnJvdy1kb3duLTktMSxcbiAgXCJzb3J0LW51bWVyaWMtZGVzY1wiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjLFxuICBcInNvcnQtbnVtZXJpYy1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdCxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtc3F1aW50LFxuICBcImdyaW4tdG9uZ3VlLXNxdWludFwiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludCxcbiAgXCJzcHJheS1jYW5cIjogJGZhLXZhci1zcHJheS1jYW4sXG4gIFwidHJ1Y2stbW9uc3RlclwiOiAkZmEtdmFyLXRydWNrLW1vbnN0ZXIsXG4gIFwid1wiOiAkZmEtdmFyLXcsXG4gIFwiZWFydGgtYWZyaWNhXCI6ICRmYS12YXItZWFydGgtYWZyaWNhLFxuICBcImdsb2JlLWFmcmljYVwiOiAkZmEtdmFyLWdsb2JlLWFmcmljYSxcbiAgXCJyYWluYm93XCI6ICRmYS12YXItcmFpbmJvdyxcbiAgXCJjaXJjbGUtbm90Y2hcIjogJGZhLXZhci1jaXJjbGUtbm90Y2gsXG4gIFwidGFibGV0LXNjcmVlbi1idXR0b25cIjogJGZhLXZhci10YWJsZXQtc2NyZWVuLWJ1dHRvbixcbiAgXCJ0YWJsZXQtYWx0XCI6ICRmYS12YXItdGFibGV0LWFsdCxcbiAgXCJwYXdcIjogJGZhLXZhci1wYXcsXG4gIFwiY2xvdWRcIjogJGZhLXZhci1jbG91ZCxcbiAgXCJ0cm93ZWwtYnJpY2tzXCI6ICRmYS12YXItdHJvd2VsLWJyaWNrcyxcbiAgXCJmYWNlLWZsdXNoZWRcIjogJGZhLXZhci1mYWNlLWZsdXNoZWQsXG4gIFwiZmx1c2hlZFwiOiAkZmEtdmFyLWZsdXNoZWQsXG4gIFwiaG9zcGl0YWwtdXNlclwiOiAkZmEtdmFyLWhvc3BpdGFsLXVzZXIsXG4gIFwidGVudC1hcnJvdy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItdGVudC1hcnJvdy1sZWZ0LXJpZ2h0LFxuICBcImdhdmVsXCI6ICRmYS12YXItZ2F2ZWwsXG4gIFwibGVnYWxcIjogJGZhLXZhci1sZWdhbCxcbiAgXCJiaW5vY3VsYXJzXCI6ICRmYS12YXItYmlub2N1bGFycyxcbiAgXCJtaWNyb3Bob25lLXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaCxcbiAgXCJib3gtdGlzc3VlXCI6ICRmYS12YXItYm94LXRpc3N1ZSxcbiAgXCJtb3RvcmN5Y2xlXCI6ICRmYS12YXItbW90b3JjeWNsZSxcbiAgXCJiZWxsLWNvbmNpZXJnZVwiOiAkZmEtdmFyLWJlbGwtY29uY2llcmdlLFxuICBcImNvbmNpZXJnZS1iZWxsXCI6ICRmYS12YXItY29uY2llcmdlLWJlbGwsXG4gIFwicGVuLXJ1bGVyXCI6ICRmYS12YXItcGVuLXJ1bGVyLFxuICBcInBlbmNpbC1ydWxlclwiOiAkZmEtdmFyLXBlbmNpbC1ydWxlcixcbiAgXCJwZW9wbGUtYXJyb3dzXCI6ICRmYS12YXItcGVvcGxlLWFycm93cyxcbiAgXCJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHRcIjogJGZhLXZhci1wZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHQsXG4gIFwibWFycy1hbmQtdmVudXMtYnVyc3RcIjogJGZhLXZhci1tYXJzLWFuZC12ZW51cy1idXJzdCxcbiAgXCJzcXVhcmUtY2FyZXQtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtcmlnaHQsXG4gIFwiY2FyZXQtc3F1YXJlLXJpZ2h0XCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0LFxuICBcInNjaXNzb3JzXCI6ICRmYS12YXItc2Npc3NvcnMsXG4gIFwiY3V0XCI6ICRmYS12YXItY3V0LFxuICBcInN1bi1wbGFudC13aWx0XCI6ICRmYS12YXItc3VuLXBsYW50LXdpbHQsXG4gIFwidG9pbGV0cy1wb3J0YWJsZVwiOiAkZmEtdmFyLXRvaWxldHMtcG9ydGFibGUsXG4gIFwiaG9ja2V5LXB1Y2tcIjogJGZhLXZhci1ob2NrZXktcHVjayxcbiAgXCJ0YWJsZVwiOiAkZmEtdmFyLXRhYmxlLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0LFxuICBcInRhY2hvZ3JhcGgtZGlnaXRhbFwiOiAkZmEtdmFyLXRhY2hvZ3JhcGgtZGlnaXRhbCxcbiAgXCJkaWdpdGFsLXRhY2hvZ3JhcGhcIjogJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGgsXG4gIFwidXNlcnMtc2xhc2hcIjogJGZhLXZhci11c2Vycy1zbGFzaCxcbiAgXCJjbG92ZXJcIjogJGZhLXZhci1jbG92ZXIsXG4gIFwicmVwbHlcIjogJGZhLXZhci1yZXBseSxcbiAgXCJtYWlsLXJlcGx5XCI6ICRmYS12YXItbWFpbC1yZXBseSxcbiAgXCJzdGFyLWFuZC1jcmVzY2VudFwiOiAkZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50LFxuICBcImhvdXNlLWZpcmVcIjogJGZhLXZhci1ob3VzZS1maXJlLFxuICBcInNxdWFyZS1taW51c1wiOiAkZmEtdmFyLXNxdWFyZS1taW51cyxcbiAgXCJtaW51cy1zcXVhcmVcIjogJGZhLXZhci1taW51cy1zcXVhcmUsXG4gIFwiaGVsaWNvcHRlclwiOiAkZmEtdmFyLWhlbGljb3B0ZXIsXG4gIFwiY29tcGFzc1wiOiAkZmEtdmFyLWNvbXBhc3MsXG4gIFwic3F1YXJlLWNhcmV0LWRvd25cIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtZG93bixcbiAgXCJjYXJldC1zcXVhcmUtZG93blwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duLFxuICBcImZpbGUtY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtcXVlc3Rpb24sXG4gIFwibGFwdG9wLWNvZGVcIjogJGZhLXZhci1sYXB0b3AtY29kZSxcbiAgXCJzd2F0Y2hib29rXCI6ICRmYS12YXItc3dhdGNoYm9vayxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZSxcbiAgXCJiYXJzXCI6ICRmYS12YXItYmFycyxcbiAgXCJuYXZpY29uXCI6ICRmYS12YXItbmF2aWNvbixcbiAgXCJwZW9wbGUtZ3JvdXBcIjogJGZhLXZhci1wZW9wbGUtZ3JvdXAsXG4gIFwiaG91cmdsYXNzLWVuZFwiOiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQsXG4gIFwiaG91cmdsYXNzLTNcIjogJGZhLXZhci1ob3VyZ2xhc3MtMyxcbiAgXCJoZWFydC1jcmFja1wiOiAkZmEtdmFyLWhlYXJ0LWNyYWNrLFxuICBcImhlYXJ0LWJyb2tlblwiOiAkZmEtdmFyLWhlYXJ0LWJyb2tlbixcbiAgXCJzcXVhcmUtdXAtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtdXAtcmlnaHQsXG4gIFwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0LFxuICBcImZhY2Uta2lzcy1iZWFtXCI6ICRmYS12YXItZmFjZS1raXNzLWJlYW0sXG4gIFwia2lzcy1iZWFtXCI6ICRmYS12YXIta2lzcy1iZWFtLFxuICBcImZpbG1cIjogJGZhLXZhci1maWxtLFxuICBcInJ1bGVyLWhvcml6b250YWxcIjogJGZhLXZhci1ydWxlci1ob3Jpem9udGFsLFxuICBcInBlb3BsZS1yb2JiZXJ5XCI6ICRmYS12YXItcGVvcGxlLXJvYmJlcnksXG4gIFwibGlnaHRidWxiXCI6ICRmYS12YXItbGlnaHRidWxiLFxuICBcImNhcmV0LWxlZnRcIjogJGZhLXZhci1jYXJldC1sZWZ0LFxuICBcImNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJleGNsYW1hdGlvbi1jaXJjbGVcIjogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUsXG4gIFwic2Nob29sLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUteG1hcmssXG4gIFwiYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0LFxuICBcInNpZ24tb3V0XCI6ICRmYS12YXItc2lnbi1vdXQsXG4gIFwiY2lyY2xlLWNoZXZyb24tZG93blwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWRvd24sXG4gIFwiY2hldnJvbi1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd24sXG4gIFwidW5sb2NrLWtleWhvbGVcIjogJGZhLXZhci11bmxvY2sta2V5aG9sZSxcbiAgXCJ1bmxvY2stYWx0XCI6ICRmYS12YXItdW5sb2NrLWFsdCxcbiAgXCJjbG91ZC1zaG93ZXJzLWhlYXZ5XCI6ICRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eSxcbiAgXCJoZWFkcGhvbmVzLXNpbXBsZVwiOiAkZmEtdmFyLWhlYWRwaG9uZXMtc2ltcGxlLFxuICBcImhlYWRwaG9uZXMtYWx0XCI6ICRmYS12YXItaGVhZHBob25lcy1hbHQsXG4gIFwic2l0ZW1hcFwiOiAkZmEtdmFyLXNpdGVtYXAsXG4gIFwiY2lyY2xlLWRvbGxhci10by1zbG90XCI6ICRmYS12YXItY2lyY2xlLWRvbGxhci10by1zbG90LFxuICBcImRvbmF0ZVwiOiAkZmEtdmFyLWRvbmF0ZSxcbiAgXCJtZW1vcnlcIjogJGZhLXZhci1tZW1vcnksXG4gIFwicm9hZC1zcGlrZXNcIjogJGZhLXZhci1yb2FkLXNwaWtlcyxcbiAgXCJmaXJlLWJ1cm5lclwiOiAkZmEtdmFyLWZpcmUtYnVybmVyLFxuICBcImZsYWdcIjogJGZhLXZhci1mbGFnLFxuICBcImhhbnVraWFoXCI6ICRmYS12YXItaGFudWtpYWgsXG4gIFwiZmVhdGhlclwiOiAkZmEtdmFyLWZlYXRoZXIsXG4gIFwidm9sdW1lLWxvd1wiOiAkZmEtdmFyLXZvbHVtZS1sb3csXG4gIFwidm9sdW1lLWRvd25cIjogJGZhLXZhci12b2x1bWUtZG93bixcbiAgXCJjb21tZW50LXNsYXNoXCI6ICRmYS12YXItY29tbWVudC1zbGFzaCxcbiAgXCJjbG91ZC1zdW4tcmFpblwiOiAkZmEtdmFyLWNsb3VkLXN1bi1yYWluLFxuICBcImNvbXByZXNzXCI6ICRmYS12YXItY29tcHJlc3MsXG4gIFwid2hlYXQtYXduXCI6ICRmYS12YXItd2hlYXQtYXduLFxuICBcIndoZWF0LWFsdFwiOiAkZmEtdmFyLXdoZWF0LWFsdCxcbiAgXCJhbmtoXCI6ICRmYS12YXItYW5raCxcbiAgXCJoYW5kcy1ob2xkaW5nLWNoaWxkXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZy1jaGlsZCxcbiAgXCJhc3Rlcmlza1wiOiAkZmEtdmFyLWFzdGVyaXNrLFxuICBcInNxdWFyZS1jaGVja1wiOiAkZmEtdmFyLXNxdWFyZS1jaGVjayxcbiAgXCJjaGVjay1zcXVhcmVcIjogJGZhLXZhci1jaGVjay1zcXVhcmUsXG4gIFwicGVzZXRhLXNpZ25cIjogJGZhLXZhci1wZXNldGEtc2lnbixcbiAgXCJoZWFkaW5nXCI6ICRmYS12YXItaGVhZGluZyxcbiAgXCJoZWFkZXJcIjogJGZhLXZhci1oZWFkZXIsXG4gIFwiZ2hvc3RcIjogJGZhLXZhci1naG9zdCxcbiAgXCJsaXN0XCI6ICRmYS12YXItbGlzdCxcbiAgXCJsaXN0LXNxdWFyZXNcIjogJGZhLXZhci1saXN0LXNxdWFyZXMsXG4gIFwic3F1YXJlLXBob25lLWZsaXBcIjogJGZhLXZhci1zcXVhcmUtcGhvbmUtZmxpcCxcbiAgXCJwaG9uZS1zcXVhcmUtYWx0XCI6ICRmYS12YXItcGhvbmUtc3F1YXJlLWFsdCxcbiAgXCJjYXJ0LXBsdXNcIjogJGZhLXZhci1jYXJ0LXBsdXMsXG4gIFwiZ2FtZXBhZFwiOiAkZmEtdmFyLWdhbWVwYWQsXG4gIFwiY2lyY2xlLWRvdFwiOiAkZmEtdmFyLWNpcmNsZS1kb3QsXG4gIFwiZG90LWNpcmNsZVwiOiAkZmEtdmFyLWRvdC1jaXJjbGUsXG4gIFwiZmFjZS1kaXp6eVwiOiAkZmEtdmFyLWZhY2UtZGl6enksXG4gIFwiZGl6enlcIjogJGZhLXZhci1kaXp6eSxcbiAgXCJlZ2dcIjogJGZhLXZhci1lZ2csXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyayxcbiAgXCJjYW1wZ3JvdW5kXCI6ICRmYS12YXItY2FtcGdyb3VuZCxcbiAgXCJmb2xkZXItcGx1c1wiOiAkZmEtdmFyLWZvbGRlci1wbHVzLFxuICBcImZ1dGJvbFwiOiAkZmEtdmFyLWZ1dGJvbCxcbiAgXCJmdXRib2wtYmFsbFwiOiAkZmEtdmFyLWZ1dGJvbC1iYWxsLFxuICBcInNvY2Nlci1iYWxsXCI6ICRmYS12YXItc29jY2VyLWJhbGwsXG4gIFwicGFpbnRicnVzaFwiOiAkZmEtdmFyLXBhaW50YnJ1c2gsXG4gIFwicGFpbnQtYnJ1c2hcIjogJGZhLXZhci1wYWludC1icnVzaCxcbiAgXCJsb2NrXCI6ICRmYS12YXItbG9jayxcbiAgXCJnYXMtcHVtcFwiOiAkZmEtdmFyLWdhcy1wdW1wLFxuICBcImhvdC10dWItcGVyc29uXCI6ICRmYS12YXItaG90LXR1Yi1wZXJzb24sXG4gIFwiaG90LXR1YlwiOiAkZmEtdmFyLWhvdC10dWIsXG4gIFwibWFwLWxvY2F0aW9uXCI6ICRmYS12YXItbWFwLWxvY2F0aW9uLFxuICBcIm1hcC1tYXJrZWRcIjogJGZhLXZhci1tYXAtbWFya2VkLFxuICBcImhvdXNlLWZsb29kLXdhdGVyXCI6ICRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXIsXG4gIFwidHJlZVwiOiAkZmEtdmFyLXRyZWUsXG4gIFwiYnJpZGdlLWxvY2tcIjogJGZhLXZhci1icmlkZ2UtbG9jayxcbiAgXCJzYWNrLWRvbGxhclwiOiAkZmEtdmFyLXNhY2stZG9sbGFyLFxuICBcInBlbi10by1zcXVhcmVcIjogJGZhLXZhci1wZW4tdG8tc3F1YXJlLFxuICBcImVkaXRcIjogJGZhLXZhci1lZGl0LFxuICBcImNhci1zaWRlXCI6ICRmYS12YXItY2FyLXNpZGUsXG4gIFwic2hhcmUtbm9kZXNcIjogJGZhLXZhci1zaGFyZS1ub2RlcyxcbiAgXCJzaGFyZS1hbHRcIjogJGZhLXZhci1zaGFyZS1hbHQsXG4gIFwiaGVhcnQtY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLW1pbnVzLFxuICBcImhvdXJnbGFzcy1oYWxmXCI6ICRmYS12YXItaG91cmdsYXNzLWhhbGYsXG4gIFwiaG91cmdsYXNzLTJcIjogJGZhLXZhci1ob3VyZ2xhc3MtMixcbiAgXCJtaWNyb3Njb3BlXCI6ICRmYS12YXItbWljcm9zY29wZSxcbiAgXCJzaW5rXCI6ICRmYS12YXItc2luayxcbiAgXCJiYWctc2hvcHBpbmdcIjogJGZhLXZhci1iYWctc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctYmFnXCI6ICRmYS12YXItc2hvcHBpbmctYmFnLFxuICBcImFycm93LWRvd24tei1hXCI6ICRmYS12YXItYXJyb3ctZG93bi16LWEsXG4gIFwic29ydC1hbHBoYS1kZXNjXCI6ICRmYS12YXItc29ydC1hbHBoYS1kZXNjLFxuICBcInNvcnQtYWxwaGEtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0LFxuICBcIm1pdHRlblwiOiAkZmEtdmFyLW1pdHRlbixcbiAgXCJwZXJzb24tcmF5c1wiOiAkZmEtdmFyLXBlcnNvbi1yYXlzLFxuICBcInVzZXJzXCI6ICRmYS12YXItdXNlcnMsXG4gIFwiZXllLXNsYXNoXCI6ICRmYS12YXItZXllLXNsYXNoLFxuICBcImZsYXNrLXZpYWxcIjogJGZhLXZhci1mbGFzay12aWFsLFxuICBcImhhbmRcIjogJGZhLXZhci1oYW5kLFxuICBcImhhbmQtcGFwZXJcIjogJGZhLXZhci1oYW5kLXBhcGVyLFxuICBcIm9tXCI6ICRmYS12YXItb20sXG4gIFwid29ybVwiOiAkZmEtdmFyLXdvcm0sXG4gIFwiaG91c2UtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLXhtYXJrLFxuICBcInBsdWdcIjogJGZhLXZhci1wbHVnLFxuICBcImNoZXZyb24tdXBcIjogJGZhLXZhci1jaGV2cm9uLXVwLFxuICBcImhhbmQtc3BvY2tcIjogJGZhLXZhci1oYW5kLXNwb2NrLFxuICBcInN0b3B3YXRjaFwiOiAkZmEtdmFyLXN0b3B3YXRjaCxcbiAgXCJmYWNlLWtpc3NcIjogJGZhLXZhci1mYWNlLWtpc3MsXG4gIFwia2lzc1wiOiAkZmEtdmFyLWtpc3MsXG4gIFwiYnJpZGdlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUteG1hcmssXG4gIFwiZmFjZS1ncmluLXRvbmd1ZVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUsXG4gIFwiZ3Jpbi10b25ndWVcIjogJGZhLXZhci1ncmluLXRvbmd1ZSxcbiAgXCJjaGVzcy1iaXNob3BcIjogJGZhLXZhci1jaGVzcy1iaXNob3AsXG4gIFwiZmFjZS1ncmluLXdpbmtcIjogJGZhLXZhci1mYWNlLWdyaW4td2luayxcbiAgXCJncmluLXdpbmtcIjogJGZhLXZhci1ncmluLXdpbmssXG4gIFwiZWFyLWRlYWZcIjogJGZhLXZhci1lYXItZGVhZixcbiAgXCJkZWFmXCI6ICRmYS12YXItZGVhZixcbiAgXCJkZWFmbmVzc1wiOiAkZmEtdmFyLWRlYWZuZXNzLFxuICBcImhhcmQtb2YtaGVhcmluZ1wiOiAkZmEtdmFyLWhhcmQtb2YtaGVhcmluZyxcbiAgXCJyb2FkLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLWNoZWNrLFxuICBcImRpY2UtZml2ZVwiOiAkZmEtdmFyLWRpY2UtZml2ZSxcbiAgXCJzcXVhcmUtcnNzXCI6ICRmYS12YXItc3F1YXJlLXJzcyxcbiAgXCJyc3Mtc3F1YXJlXCI6ICRmYS12YXItcnNzLXNxdWFyZSxcbiAgXCJsYW5kLW1pbmUtb25cIjogJGZhLXZhci1sYW5kLW1pbmUtb24sXG4gIFwiaS1jdXJzb3JcIjogJGZhLXZhci1pLWN1cnNvcixcbiAgXCJzdGFtcFwiOiAkZmEtdmFyLXN0YW1wLFxuICBcInN0YWlyc1wiOiAkZmEtdmFyLXN0YWlycyxcbiAgXCJpXCI6ICRmYS12YXItaSxcbiAgXCJocnl2bmlhLXNpZ25cIjogJGZhLXZhci1ocnl2bmlhLXNpZ24sXG4gIFwiaHJ5dm5pYVwiOiAkZmEtdmFyLWhyeXZuaWEsXG4gIFwicGlsbHNcIjogJGZhLXZhci1waWxscyxcbiAgXCJmYWNlLWdyaW4td2lkZVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi13aWRlLFxuICBcImdyaW4tYWx0XCI6ICRmYS12YXItZ3Jpbi1hbHQsXG4gIFwidG9vdGhcIjogJGZhLXZhci10b290aCxcbiAgXCJ2XCI6ICRmYS12YXItdixcbiAgXCJiYW5nbGFkZXNoaS10YWthLXNpZ25cIjogJGZhLXZhci1iYW5nbGFkZXNoaS10YWthLXNpZ24sXG4gIFwiYmljeWNsZVwiOiAkZmEtdmFyLWJpY3ljbGUsXG4gIFwic3RhZmYtc25ha2VcIjogJGZhLXZhci1zdGFmZi1zbmFrZSxcbiAgXCJyb2QtYXNjbGVwaXVzXCI6ICRmYS12YXItcm9kLWFzY2xlcGl1cyxcbiAgXCJyb2Qtc25ha2VcIjogJGZhLXZhci1yb2Qtc25ha2UsXG4gIFwic3RhZmYtYWVzY3VsYXBpdXNcIjogJGZhLXZhci1zdGFmZi1hZXNjdWxhcGl1cyxcbiAgXCJoZWFkLXNpZGUtY291Z2gtc2xhc2hcIjogJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2gsXG4gIFwidHJ1Y2stbWVkaWNhbFwiOiAkZmEtdmFyLXRydWNrLW1lZGljYWwsXG4gIFwiYW1idWxhbmNlXCI6ICRmYS12YXItYW1idWxhbmNlLFxuICBcIndoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci13aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInNub3dtYW5cIjogJGZhLXZhci1zbm93bWFuLFxuICBcIm1vcnRhci1wZXN0bGVcIjogJGZhLXZhci1tb3J0YXItcGVzdGxlLFxuICBcInJvYWQtYmFycmllclwiOiAkZmEtdmFyLXJvYWQtYmFycmllcixcbiAgXCJzY2hvb2xcIjogJGZhLXZhci1zY2hvb2wsXG4gIFwiaWdsb29cIjogJGZhLXZhci1pZ2xvbyxcbiAgXCJqb2ludFwiOiAkZmEtdmFyLWpvaW50LFxuICBcImFuZ2xlLXJpZ2h0XCI6ICRmYS12YXItYW5nbGUtcmlnaHQsXG4gIFwiaG9yc2VcIjogJGZhLXZhci1ob3JzZSxcbiAgXCJxXCI6ICRmYS12YXItcSxcbiAgXCJnXCI6ICRmYS12YXItZyxcbiAgXCJub3Rlcy1tZWRpY2FsXCI6ICRmYS12YXItbm90ZXMtbWVkaWNhbCxcbiAgXCJ0ZW1wZXJhdHVyZS1oYWxmXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtaGFsZixcbiAgXCJ0ZW1wZXJhdHVyZS0yXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMixcbiAgXCJ0aGVybW9tZXRlci0yXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMixcbiAgXCJ0aGVybW9tZXRlci1oYWxmXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZixcbiAgXCJkb25nLXNpZ25cIjogJGZhLXZhci1kb25nLXNpZ24sXG4gIFwiY2Fwc3VsZXNcIjogJGZhLXZhci1jYXBzdWxlcyxcbiAgXCJwb28tc3Rvcm1cIjogJGZhLXZhci1wb28tc3Rvcm0sXG4gIFwicG9vLWJvbHRcIjogJGZhLXZhci1wb28tYm9sdCxcbiAgXCJmYWNlLWZyb3duLW9wZW5cIjogJGZhLXZhci1mYWNlLWZyb3duLW9wZW4sXG4gIFwiZnJvd24tb3BlblwiOiAkZmEtdmFyLWZyb3duLW9wZW4sXG4gIFwiaGFuZC1wb2ludC11cFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtdXAsXG4gIFwibW9uZXktYmlsbFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwsXG4gIFwiYm9va21hcmtcIjogJGZhLXZhci1ib29rbWFyayxcbiAgXCJhbGlnbi1qdXN0aWZ5XCI6ICRmYS12YXItYWxpZ24tanVzdGlmeSxcbiAgXCJ1bWJyZWxsYS1iZWFjaFwiOiAkZmEtdmFyLXVtYnJlbGxhLWJlYWNoLFxuICBcImhlbG1ldC11blwiOiAkZmEtdmFyLWhlbG1ldC11bixcbiAgXCJidWxsc2V5ZVwiOiAkZmEtdmFyLWJ1bGxzZXllLFxuICBcImJhY29uXCI6ICRmYS12YXItYmFjb24sXG4gIFwiaGFuZC1wb2ludC1kb3duXCI6ICRmYS12YXItaGFuZC1wb2ludC1kb3duLFxuICBcImFycm93LXVwLWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20tYnJhY2tldCxcbiAgXCJmb2xkZXJcIjogJGZhLXZhci1mb2xkZXIsXG4gIFwiZm9sZGVyLWJsYW5rXCI6ICRmYS12YXItZm9sZGVyLWJsYW5rLFxuICBcImZpbGUtd2F2ZWZvcm1cIjogJGZhLXZhci1maWxlLXdhdmVmb3JtLFxuICBcImZpbGUtbWVkaWNhbC1hbHRcIjogJGZhLXZhci1maWxlLW1lZGljYWwtYWx0LFxuICBcInJhZGlhdGlvblwiOiAkZmEtdmFyLXJhZGlhdGlvbixcbiAgXCJjaGFydC1zaW1wbGVcIjogJGZhLXZhci1jaGFydC1zaW1wbGUsXG4gIFwibWFycy1zdHJva2VcIjogJGZhLXZhci1tYXJzLXN0cm9rZSxcbiAgXCJ2aWFsXCI6ICRmYS12YXItdmlhbCxcbiAgXCJnYXVnZVwiOiAkZmEtdmFyLWdhdWdlLFxuICBcImRhc2hib2FyZFwiOiAkZmEtdmFyLWRhc2hib2FyZCxcbiAgXCJnYXVnZS1tZWRcIjogJGZhLXZhci1nYXVnZS1tZWQsXG4gIFwidGFjaG9tZXRlci1hbHQtYXZlcmFnZVwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2UsXG4gIFwid2FuZC1tYWdpYy1zcGFya2xlc1wiOiAkZmEtdmFyLXdhbmQtbWFnaWMtc3BhcmtsZXMsXG4gIFwibWFnaWMtd2FuZC1zcGFya2xlc1wiOiAkZmEtdmFyLW1hZ2ljLXdhbmQtc3BhcmtsZXMsXG4gIFwiZVwiOiAkZmEtdmFyLWUsXG4gIFwicGVuLWNsaXBcIjogJGZhLXZhci1wZW4tY2xpcCxcbiAgXCJwZW4tYWx0XCI6ICRmYS12YXItcGVuLWFsdCxcbiAgXCJicmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ1c2VyXCI6ICRmYS12YXItdXNlcixcbiAgXCJzY2hvb2wtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS1jaGVjayxcbiAgXCJkdW1wc3RlclwiOiAkZmEtdmFyLWR1bXBzdGVyLFxuICBcInZhbi1zaHV0dGxlXCI6ICRmYS12YXItdmFuLXNodXR0bGUsXG4gIFwic2h1dHRsZS12YW5cIjogJGZhLXZhci1zaHV0dGxlLXZhbixcbiAgXCJidWlsZGluZy11c2VyXCI6ICRmYS12YXItYnVpbGRpbmctdXNlcixcbiAgXCJzcXVhcmUtY2FyZXQtbGVmdFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1sZWZ0LFxuICBcImNhcmV0LXNxdWFyZS1sZWZ0XCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQsXG4gIFwiaGlnaGxpZ2h0ZXJcIjogJGZhLXZhci1oaWdobGlnaHRlcixcbiAgXCJrZXlcIjogJGZhLXZhci1rZXksXG4gIFwiYnVsbGhvcm5cIjogJGZhLXZhci1idWxsaG9ybixcbiAgXCJnbG9iZVwiOiAkZmEtdmFyLWdsb2JlLFxuICBcInN5bmFnb2d1ZVwiOiAkZmEtdmFyLXN5bmFnb2d1ZSxcbiAgXCJwZXJzb24taGFsZi1kcmVzc1wiOiAkZmEtdmFyLXBlcnNvbi1oYWxmLWRyZXNzLFxuICBcInJvYWQtYnJpZGdlXCI6ICRmYS12YXItcm9hZC1icmlkZ2UsXG4gIFwibG9jYXRpb24tYXJyb3dcIjogJGZhLXZhci1sb2NhdGlvbi1hcnJvdyxcbiAgXCJjXCI6ICRmYS12YXItYyxcbiAgXCJ0YWJsZXQtYnV0dG9uXCI6ICRmYS12YXItdGFibGV0LWJ1dHRvbixcbiAgXCJidWlsZGluZy1sb2NrXCI6ICRmYS12YXItYnVpbGRpbmctbG9jayxcbiAgXCJwaXp6YS1zbGljZVwiOiAkZmEtdmFyLXBpenphLXNsaWNlLFxuICBcIm1vbmV5LWJpbGwtd2F2ZVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZSxcbiAgXCJjaGFydC1hcmVhXCI6ICRmYS12YXItY2hhcnQtYXJlYSxcbiAgXCJhcmVhLWNoYXJ0XCI6ICRmYS12YXItYXJlYS1jaGFydCxcbiAgXCJob3VzZS1mbGFnXCI6ICRmYS12YXItaG91c2UtZmxhZyxcbiAgXCJwZXJzb24tY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1taW51cyxcbiAgXCJiYW5cIjogJGZhLXZhci1iYW4sXG4gIFwiY2FuY2VsXCI6ICRmYS12YXItY2FuY2VsLFxuICBcImNhbWVyYS1yb3RhdGVcIjogJGZhLXZhci1jYW1lcmEtcm90YXRlLFxuICBcInNwcmF5LWNhbi1zcGFya2xlc1wiOiAkZmEtdmFyLXNwcmF5LWNhbi1zcGFya2xlcyxcbiAgXCJhaXItZnJlc2hlbmVyXCI6ICRmYS12YXItYWlyLWZyZXNoZW5lcixcbiAgXCJzdGFyXCI6ICRmYS12YXItc3RhcixcbiAgXCJyZXBlYXRcIjogJGZhLXZhci1yZXBlYXQsXG4gIFwiY3Jvc3NcIjogJGZhLXZhci1jcm9zcyxcbiAgXCJib3hcIjogJGZhLXZhci1ib3gsXG4gIFwidmVudXMtbWFyc1wiOiAkZmEtdmFyLXZlbnVzLW1hcnMsXG4gIFwiYXJyb3ctcG9pbnRlclwiOiAkZmEtdmFyLWFycm93LXBvaW50ZXIsXG4gIFwibW91c2UtcG9pbnRlclwiOiAkZmEtdmFyLW1vdXNlLXBvaW50ZXIsXG4gIFwibWF4aW1pemVcIjogJGZhLXZhci1tYXhpbWl6ZSxcbiAgXCJleHBhbmQtYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0LFxuICBcImNoYXJnaW5nLXN0YXRpb25cIjogJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uLFxuICBcInNoYXBlc1wiOiAkZmEtdmFyLXNoYXBlcyxcbiAgXCJ0cmlhbmdsZS1jaXJjbGUtc3F1YXJlXCI6ICRmYS12YXItdHJpYW5nbGUtY2lyY2xlLXNxdWFyZSxcbiAgXCJzaHVmZmxlXCI6ICRmYS12YXItc2h1ZmZsZSxcbiAgXCJyYW5kb21cIjogJGZhLXZhci1yYW5kb20sXG4gIFwicGVyc29uLXJ1bm5pbmdcIjogJGZhLXZhci1wZXJzb24tcnVubmluZyxcbiAgXCJydW5uaW5nXCI6ICRmYS12YXItcnVubmluZyxcbiAgXCJtb2JpbGUtcmV0cm9cIjogJGZhLXZhci1tb2JpbGUtcmV0cm8sXG4gIFwiZ3JpcC1saW5lcy12ZXJ0aWNhbFwiOiAkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwsXG4gIFwic3BpZGVyXCI6ICRmYS12YXItc3BpZGVyLFxuICBcImhhbmRzLWJvdW5kXCI6ICRmYS12YXItaGFuZHMtYm91bmQsXG4gIFwiZmlsZS1pbnZvaWNlLWRvbGxhclwiOiAkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIsXG4gIFwicGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcIngtcmF5XCI6ICRmYS12YXIteC1yYXksXG4gIFwic3BlbGwtY2hlY2tcIjogJGZhLXZhci1zcGVsbC1jaGVjayxcbiAgXCJzbGFzaFwiOiAkZmEtdmFyLXNsYXNoLFxuICBcImNvbXB1dGVyLW1vdXNlXCI6ICRmYS12YXItY29tcHV0ZXItbW91c2UsXG4gIFwibW91c2VcIjogJGZhLXZhci1tb3VzZSxcbiAgXCJhcnJvdy1yaWdodC10by1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tYnJhY2tldCxcbiAgXCJzaWduLWluXCI6ICRmYS12YXItc2lnbi1pbixcbiAgXCJzaG9wLXNsYXNoXCI6ICRmYS12YXItc2hvcC1zbGFzaCxcbiAgXCJzdG9yZS1hbHQtc2xhc2hcIjogJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gsXG4gIFwic2VydmVyXCI6ICRmYS12YXItc2VydmVyLFxuICBcInZpcnVzLWNvdmlkLXNsYXNoXCI6ICRmYS12YXItdmlydXMtY292aWQtc2xhc2gsXG4gIFwic2hvcC1sb2NrXCI6ICRmYS12YXItc2hvcC1sb2NrLFxuICBcImhvdXJnbGFzcy1zdGFydFwiOiAkZmEtdmFyLWhvdXJnbGFzcy1zdGFydCxcbiAgXCJob3VyZ2xhc3MtMVwiOiAkZmEtdmFyLWhvdXJnbGFzcy0xLFxuICBcImJsZW5kZXItcGhvbmVcIjogJGZhLXZhci1ibGVuZGVyLXBob25lLFxuICBcImJ1aWxkaW5nLXdoZWF0XCI6ICRmYS12YXItYnVpbGRpbmctd2hlYXQsXG4gIFwicGVyc29uLWJyZWFzdGZlZWRpbmdcIjogJGZhLXZhci1wZXJzb24tYnJlYXN0ZmVlZGluZyxcbiAgXCJyaWdodC10by1icmFja2V0XCI6ICRmYS12YXItcmlnaHQtdG8tYnJhY2tldCxcbiAgXCJzaWduLWluLWFsdFwiOiAkZmEtdmFyLXNpZ24taW4tYWx0LFxuICBcInZlbnVzXCI6ICRmYS12YXItdmVudXMsXG4gIFwicGFzc3BvcnRcIjogJGZhLXZhci1wYXNzcG9ydCxcbiAgXCJoZWFydC1wdWxzZVwiOiAkZmEtdmFyLWhlYXJ0LXB1bHNlLFxuICBcImhlYXJ0YmVhdFwiOiAkZmEtdmFyLWhlYXJ0YmVhdCxcbiAgXCJwZW9wbGUtY2FycnktYm94XCI6ICRmYS12YXItcGVvcGxlLWNhcnJ5LWJveCxcbiAgXCJwZW9wbGUtY2FycnlcIjogJGZhLXZhci1wZW9wbGUtY2FycnksXG4gIFwidGVtcGVyYXR1cmUtaGlnaFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2gsXG4gIFwibWljcm9jaGlwXCI6ICRmYS12YXItbWljcm9jaGlwLFxuICBcImNyb3duXCI6ICRmYS12YXItY3Jvd24sXG4gIFwid2VpZ2h0LWhhbmdpbmdcIjogJGZhLXZhci13ZWlnaHQtaGFuZ2luZyxcbiAgXCJ4bWFya3MtbGluZXNcIjogJGZhLXZhci14bWFya3MtbGluZXMsXG4gIFwiZmlsZS1wcmVzY3JpcHRpb25cIjogJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbixcbiAgXCJ3ZWlnaHQtc2NhbGVcIjogJGZhLXZhci13ZWlnaHQtc2NhbGUsXG4gIFwid2VpZ2h0XCI6ICRmYS12YXItd2VpZ2h0LFxuICBcInVzZXItZ3JvdXBcIjogJGZhLXZhci11c2VyLWdyb3VwLFxuICBcInVzZXItZnJpZW5kc1wiOiAkZmEtdmFyLXVzZXItZnJpZW5kcyxcbiAgXCJhcnJvdy11cC1hLXpcIjogJGZhLXZhci1hcnJvdy11cC1hLXosXG4gIFwic29ydC1hbHBoYS11cFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtdXAsXG4gIFwiY2hlc3Mta25pZ2h0XCI6ICRmYS12YXItY2hlc3Mta25pZ2h0LFxuICBcImZhY2UtbGF1Z2gtc3F1aW50XCI6ICRmYS12YXItZmFjZS1sYXVnaC1zcXVpbnQsXG4gIFwibGF1Z2gtc3F1aW50XCI6ICRmYS12YXItbGF1Z2gtc3F1aW50LFxuICBcIndoZWVsY2hhaXJcIjogJGZhLXZhci13aGVlbGNoYWlyLFxuICBcImNpcmNsZS1hcnJvdy11cFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy11cCxcbiAgXCJhcnJvdy1jaXJjbGUtdXBcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtdXAsXG4gIFwidG9nZ2xlLW9uXCI6ICRmYS12YXItdG9nZ2xlLW9uLFxuICBcInBlcnNvbi13YWxraW5nXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmcsXG4gIFwid2Fsa2luZ1wiOiAkZmEtdmFyLXdhbGtpbmcsXG4gIFwibFwiOiAkZmEtdmFyLWwsXG4gIFwiZmlyZVwiOiAkZmEtdmFyLWZpcmUsXG4gIFwiYmVkLXB1bHNlXCI6ICRmYS12YXItYmVkLXB1bHNlLFxuICBcInByb2NlZHVyZXNcIjogJGZhLXZhci1wcm9jZWR1cmVzLFxuICBcInNodXR0bGUtc3BhY2VcIjogJGZhLXZhci1zaHV0dGxlLXNwYWNlLFxuICBcInNwYWNlLXNodXR0bGVcIjogJGZhLXZhci1zcGFjZS1zaHV0dGxlLFxuICBcImZhY2UtbGF1Z2hcIjogJGZhLXZhci1mYWNlLWxhdWdoLFxuICBcImxhdWdoXCI6ICRmYS12YXItbGF1Z2gsXG4gIFwiZm9sZGVyLW9wZW5cIjogJGZhLXZhci1mb2xkZXItb3BlbixcbiAgXCJoZWFydC1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1wbHVzLFxuICBcImNvZGUtZm9ya1wiOiAkZmEtdmFyLWNvZGUtZm9yayxcbiAgXCJjaXR5XCI6ICRmYS12YXItY2l0eSxcbiAgXCJtaWNyb3Bob25lLWxpbmVzXCI6ICRmYS12YXItbWljcm9waG9uZS1saW5lcyxcbiAgXCJtaWNyb3Bob25lLWFsdFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtYWx0LFxuICBcInBlcHBlci1ob3RcIjogJGZhLXZhci1wZXBwZXItaG90LFxuICBcInVubG9ja1wiOiAkZmEtdmFyLXVubG9jayxcbiAgXCJjb2xvbi1zaWduXCI6ICRmYS12YXItY29sb24tc2lnbixcbiAgXCJoZWFkc2V0XCI6ICRmYS12YXItaGVhZHNldCxcbiAgXCJzdG9yZS1zbGFzaFwiOiAkZmEtdmFyLXN0b3JlLXNsYXNoLFxuICBcInJvYWQtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcm9hZC1jaXJjbGUteG1hcmssXG4gIFwidXNlci1taW51c1wiOiAkZmEtdmFyLXVzZXItbWludXMsXG4gIFwibWFycy1zdHJva2UtdXBcIjogJGZhLXZhci1tYXJzLXN0cm9rZS11cCxcbiAgXCJtYXJzLXN0cm9rZS12XCI6ICRmYS12YXItbWFycy1zdHJva2UtdixcbiAgXCJjaGFtcGFnbmUtZ2xhc3Nlc1wiOiAkZmEtdmFyLWNoYW1wYWduZS1nbGFzc2VzLFxuICBcImdsYXNzLWNoZWVyc1wiOiAkZmEtdmFyLWdsYXNzLWNoZWVycyxcbiAgXCJjbGlwYm9hcmRcIjogJGZhLXZhci1jbGlwYm9hcmQsXG4gIFwiaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImZpbGUtYXJyb3ctdXBcIjogJGZhLXZhci1maWxlLWFycm93LXVwLFxuICBcImZpbGUtdXBsb2FkXCI6ICRmYS12YXItZmlsZS11cGxvYWQsXG4gIFwid2lmaVwiOiAkZmEtdmFyLXdpZmksXG4gIFwid2lmaS0zXCI6ICRmYS12YXItd2lmaS0zLFxuICBcIndpZmktc3Ryb25nXCI6ICRmYS12YXItd2lmaS1zdHJvbmcsXG4gIFwiYmF0aFwiOiAkZmEtdmFyLWJhdGgsXG4gIFwiYmF0aHR1YlwiOiAkZmEtdmFyLWJhdGh0dWIsXG4gIFwidW5kZXJsaW5lXCI6ICRmYS12YXItdW5kZXJsaW5lLFxuICBcInVzZXItcGVuXCI6ICRmYS12YXItdXNlci1wZW4sXG4gIFwidXNlci1lZGl0XCI6ICRmYS12YXItdXNlci1lZGl0LFxuICBcInNpZ25hdHVyZVwiOiAkZmEtdmFyLXNpZ25hdHVyZSxcbiAgXCJzdHJvb3B3YWZlbFwiOiAkZmEtdmFyLXN0cm9vcHdhZmVsLFxuICBcImJvbGRcIjogJGZhLXZhci1ib2xkLFxuICBcImFuY2hvci1sb2NrXCI6ICRmYS12YXItYW5jaG9yLWxvY2ssXG4gIFwiYnVpbGRpbmctbmdvXCI6ICRmYS12YXItYnVpbGRpbmctbmdvLFxuICBcIm1hbmF0LXNpZ25cIjogJGZhLXZhci1tYW5hdC1zaWduLFxuICBcIm5vdC1lcXVhbFwiOiAkZmEtdmFyLW5vdC1lcXVhbCxcbiAgXCJib3JkZXItdG9wLWxlZnRcIjogJGZhLXZhci1ib3JkZXItdG9wLWxlZnQsXG4gIFwiYm9yZGVyLXN0eWxlXCI6ICRmYS12YXItYm9yZGVyLXN0eWxlLFxuICBcIm1hcC1sb2NhdGlvbi1kb3RcIjogJGZhLXZhci1tYXAtbG9jYXRpb24tZG90LFxuICBcIm1hcC1tYXJrZWQtYWx0XCI6ICRmYS12YXItbWFwLW1hcmtlZC1hbHQsXG4gIFwiamVkaVwiOiAkZmEtdmFyLWplZGksXG4gIFwic3F1YXJlLXBvbGwtdmVydGljYWxcIjogJGZhLXZhci1zcXVhcmUtcG9sbC12ZXJ0aWNhbCxcbiAgXCJwb2xsXCI6ICRmYS12YXItcG9sbCxcbiAgXCJtdWctaG90XCI6ICRmYS12YXItbXVnLWhvdCxcbiAgXCJjYXItYmF0dGVyeVwiOiAkZmEtdmFyLWNhci1iYXR0ZXJ5LFxuICBcImJhdHRlcnktY2FyXCI6ICRmYS12YXItYmF0dGVyeS1jYXIsXG4gIFwiZ2lmdFwiOiAkZmEtdmFyLWdpZnQsXG4gIFwiZGljZS10d29cIjogJGZhLXZhci1kaWNlLXR3byxcbiAgXCJjaGVzcy1xdWVlblwiOiAkZmEtdmFyLWNoZXNzLXF1ZWVuLFxuICBcImdsYXNzZXNcIjogJGZhLXZhci1nbGFzc2VzLFxuICBcImNoZXNzLWJvYXJkXCI6ICRmYS12YXItY2hlc3MtYm9hcmQsXG4gIFwiYnVpbGRpbmctY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1jaGFsa2JvYXJkXCI6ICRmYS12YXItcGVyc29uLWNoYWxrYm9hcmQsXG4gIFwibWFycy1zdHJva2UtcmlnaHRcIjogJGZhLXZhci1tYXJzLXN0cm9rZS1yaWdodCxcbiAgXCJtYXJzLXN0cm9rZS1oXCI6ICRmYS12YXItbWFycy1zdHJva2UtaCxcbiAgXCJoYW5kLWJhY2stZmlzdFwiOiAkZmEtdmFyLWhhbmQtYmFjay1maXN0LFxuICBcImhhbmQtcm9ja1wiOiAkZmEtdmFyLWhhbmQtcm9jayxcbiAgXCJzcXVhcmUtY2FyZXQtdXBcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtdXAsXG4gIFwiY2FyZXQtc3F1YXJlLXVwXCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLXVwLFxuICBcImNsb3VkLXNob3dlcnMtd2F0ZXJcIjogJGZhLXZhci1jbG91ZC1zaG93ZXJzLXdhdGVyLFxuICBcImNoYXJ0LWJhclwiOiAkZmEtdmFyLWNoYXJ0LWJhcixcbiAgXCJiYXItY2hhcnRcIjogJGZhLXZhci1iYXItY2hhcnQsXG4gIFwiaGFuZHMtYnViYmxlc1wiOiAkZmEtdmFyLWhhbmRzLWJ1YmJsZXMsXG4gIFwiaGFuZHMtd2FzaFwiOiAkZmEtdmFyLWhhbmRzLXdhc2gsXG4gIFwibGVzcy10aGFuLWVxdWFsXCI6ICRmYS12YXItbGVzcy10aGFuLWVxdWFsLFxuICBcInRyYWluXCI6ICRmYS12YXItdHJhaW4sXG4gIFwiZXllLWxvdy12aXNpb25cIjogJGZhLXZhci1leWUtbG93LXZpc2lvbixcbiAgXCJsb3ctdmlzaW9uXCI6ICRmYS12YXItbG93LXZpc2lvbixcbiAgXCJjcm93XCI6ICRmYS12YXItY3JvdyxcbiAgXCJzYWlsYm9hdFwiOiAkZmEtdmFyLXNhaWxib2F0LFxuICBcIndpbmRvdy1yZXN0b3JlXCI6ICRmYS12YXItd2luZG93LXJlc3RvcmUsXG4gIFwic3F1YXJlLXBsdXNcIjogJGZhLXZhci1zcXVhcmUtcGx1cyxcbiAgXCJwbHVzLXNxdWFyZVwiOiAkZmEtdmFyLXBsdXMtc3F1YXJlLFxuICBcInRvcmlpLWdhdGVcIjogJGZhLXZhci10b3JpaS1nYXRlLFxuICBcImZyb2dcIjogJGZhLXZhci1mcm9nLFxuICBcImJ1Y2tldFwiOiAkZmEtdmFyLWJ1Y2tldCxcbiAgXCJpbWFnZVwiOiAkZmEtdmFyLWltYWdlLFxuICBcIm1pY3JvcGhvbmVcIjogJGZhLXZhci1taWNyb3Bob25lLFxuICBcImNvd1wiOiAkZmEtdmFyLWNvdyxcbiAgXCJjYXJldC11cFwiOiAkZmEtdmFyLWNhcmV0LXVwLFxuICBcInNjcmV3ZHJpdmVyXCI6ICRmYS12YXItc2NyZXdkcml2ZXIsXG4gIFwiZm9sZGVyLWNsb3NlZFwiOiAkZmEtdmFyLWZvbGRlci1jbG9zZWQsXG4gIFwiaG91c2UtdHN1bmFtaVwiOiAkZmEtdmFyLWhvdXNlLXRzdW5hbWksXG4gIFwic3F1YXJlLW5maVwiOiAkZmEtdmFyLXNxdWFyZS1uZmksXG4gIFwiYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXJcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlcixcbiAgXCJtYXJ0aW5pLWdsYXNzXCI6ICRmYS12YXItbWFydGluaS1nbGFzcyxcbiAgXCJnbGFzcy1tYXJ0aW5pLWFsdFwiOiAkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0LFxuICBcInJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItcm90YXRlLWxlZnQsXG4gIFwicm90YXRlLWJhY2tcIjogJGZhLXZhci1yb3RhdGUtYmFjayxcbiAgXCJyb3RhdGUtYmFja3dhcmRcIjogJGZhLXZhci1yb3RhdGUtYmFja3dhcmQsXG4gIFwidW5kby1hbHRcIjogJGZhLXZhci11bmRvLWFsdCxcbiAgXCJ0YWJsZS1jb2x1bW5zXCI6ICRmYS12YXItdGFibGUtY29sdW1ucyxcbiAgXCJjb2x1bW5zXCI6ICRmYS12YXItY29sdW1ucyxcbiAgXCJsZW1vblwiOiAkZmEtdmFyLWxlbW9uLFxuICBcImhlYWQtc2lkZS1tYXNrXCI6ICRmYS12YXItaGVhZC1zaWRlLW1hc2ssXG4gIFwiaGFuZHNoYWtlXCI6ICRmYS12YXItaGFuZHNoYWtlLFxuICBcImdlbVwiOiAkZmEtdmFyLWdlbSxcbiAgXCJkb2xseVwiOiAkZmEtdmFyLWRvbGx5LFxuICBcImRvbGx5LWJveFwiOiAkZmEtdmFyLWRvbGx5LWJveCxcbiAgXCJzbW9raW5nXCI6ICRmYS12YXItc21va2luZyxcbiAgXCJtaW5pbWl6ZVwiOiAkZmEtdmFyLW1pbmltaXplLFxuICBcImNvbXByZXNzLWFycm93cy1hbHRcIjogJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0LFxuICBcIm1vbnVtZW50XCI6ICRmYS12YXItbW9udW1lbnQsXG4gIFwic25vd3Bsb3dcIjogJGZhLXZhci1zbm93cGxvdyxcbiAgXCJhbmdsZXMtcmlnaHRcIjogJGZhLXZhci1hbmdsZXMtcmlnaHQsXG4gIFwiYW5nbGUtZG91YmxlLXJpZ2h0XCI6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0LFxuICBcImNhbm5hYmlzXCI6ICRmYS12YXItY2FubmFiaXMsXG4gIFwiY2lyY2xlLXBsYXlcIjogJGZhLXZhci1jaXJjbGUtcGxheSxcbiAgXCJwbGF5LWNpcmNsZVwiOiAkZmEtdmFyLXBsYXktY2lyY2xlLFxuICBcInRhYmxldHNcIjogJGZhLXZhci10YWJsZXRzLFxuICBcImV0aGVybmV0XCI6ICRmYS12YXItZXRoZXJuZXQsXG4gIFwiZXVyby1zaWduXCI6ICRmYS12YXItZXVyby1zaWduLFxuICBcImV1clwiOiAkZmEtdmFyLWV1cixcbiAgXCJldXJvXCI6ICRmYS12YXItZXVybyxcbiAgXCJjaGFpclwiOiAkZmEtdmFyLWNoYWlyLFxuICBcImNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWNpcmNsZS1jaGVjayxcbiAgXCJjaGVjay1jaXJjbGVcIjogJGZhLXZhci1jaGVjay1jaXJjbGUsXG4gIFwiY2lyY2xlLXN0b3BcIjogJGZhLXZhci1jaXJjbGUtc3RvcCxcbiAgXCJzdG9wLWNpcmNsZVwiOiAkZmEtdmFyLXN0b3AtY2lyY2xlLFxuICBcImNvbXBhc3MtZHJhZnRpbmdcIjogJGZhLXZhci1jb21wYXNzLWRyYWZ0aW5nLFxuICBcImRyYWZ0aW5nLWNvbXBhc3NcIjogJGZhLXZhci1kcmFmdGluZy1jb21wYXNzLFxuICBcInBsYXRlLXdoZWF0XCI6ICRmYS12YXItcGxhdGUtd2hlYXQsXG4gIFwiaWNpY2xlc1wiOiAkZmEtdmFyLWljaWNsZXMsXG4gIFwicGVyc29uLXNoZWx0ZXJcIjogJGZhLXZhci1wZXJzb24tc2hlbHRlcixcbiAgXCJuZXV0ZXJcIjogJGZhLXZhci1uZXV0ZXIsXG4gIFwiaWQtYmFkZ2VcIjogJGZhLXZhci1pZC1iYWRnZSxcbiAgXCJtYXJrZXJcIjogJGZhLXZhci1tYXJrZXIsXG4gIFwiZmFjZS1sYXVnaC1iZWFtXCI6ICRmYS12YXItZmFjZS1sYXVnaC1iZWFtLFxuICBcImxhdWdoLWJlYW1cIjogJGZhLXZhci1sYXVnaC1iZWFtLFxuICBcImhlbGljb3B0ZXItc3ltYm9sXCI6ICRmYS12YXItaGVsaWNvcHRlci1zeW1ib2wsXG4gIFwidW5pdmVyc2FsLWFjY2Vzc1wiOiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3MsXG4gIFwiY2lyY2xlLWNoZXZyb24tdXBcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi11cCxcbiAgXCJjaGV2cm9uLWNpcmNsZS11cFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwLFxuICBcImxhcmktc2lnblwiOiAkZmEtdmFyLWxhcmktc2lnbixcbiAgXCJ2b2xjYW5vXCI6ICRmYS12YXItdm9sY2FubyxcbiAgXCJwZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0LFxuICBcInN0ZXJsaW5nLXNpZ25cIjogJGZhLXZhci1zdGVybGluZy1zaWduLFxuICBcImdicFwiOiAkZmEtdmFyLWdicCxcbiAgXCJwb3VuZC1zaWduXCI6ICRmYS12YXItcG91bmQtc2lnbixcbiAgXCJ2aXJ1c2VzXCI6ICRmYS12YXItdmlydXNlcyxcbiAgXCJzcXVhcmUtcGVyc29uLWNvbmZpbmVkXCI6ICRmYS12YXItc3F1YXJlLXBlcnNvbi1jb25maW5lZCxcbiAgXCJ1c2VyLXRpZVwiOiAkZmEtdmFyLXVzZXItdGllLFxuICBcImFycm93LWRvd24tbG9uZ1wiOiAkZmEtdmFyLWFycm93LWRvd24tbG9uZyxcbiAgXCJsb25nLWFycm93LWRvd25cIjogJGZhLXZhci1sb25nLWFycm93LWRvd24sXG4gIFwidGVudC1hcnJvdy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci10ZW50LWFycm93LWRvd24tdG8tbGluZSxcbiAgXCJjZXJ0aWZpY2F0ZVwiOiAkZmEtdmFyLWNlcnRpZmljYXRlLFxuICBcInJlcGx5LWFsbFwiOiAkZmEtdmFyLXJlcGx5LWFsbCxcbiAgXCJtYWlsLXJlcGx5LWFsbFwiOiAkZmEtdmFyLW1haWwtcmVwbHktYWxsLFxuICBcInN1aXRjYXNlXCI6ICRmYS12YXItc3VpdGNhc2UsXG4gIFwicGVyc29uLXNrYXRpbmdcIjogJGZhLXZhci1wZXJzb24tc2thdGluZyxcbiAgXCJza2F0aW5nXCI6ICRmYS12YXItc2thdGluZyxcbiAgXCJmaWx0ZXItY2lyY2xlLWRvbGxhclwiOiAkZmEtdmFyLWZpbHRlci1jaXJjbGUtZG9sbGFyLFxuICBcImZ1bm5lbC1kb2xsYXJcIjogJGZhLXZhci1mdW5uZWwtZG9sbGFyLFxuICBcImNhbWVyYS1yZXRyb1wiOiAkZmEtdmFyLWNhbWVyYS1yZXRybyxcbiAgXCJjaXJjbGUtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1kb3duLFxuICBcImFycm93LWNpcmNsZS1kb3duXCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd24sXG4gIFwiZmlsZS1pbXBvcnRcIjogJGZhLXZhci1maWxlLWltcG9ydCxcbiAgXCJhcnJvdy1yaWdodC10by1maWxlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tZmlsZSxcbiAgXCJzcXVhcmUtYXJyb3ctdXAtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtYXJyb3ctdXAtcmlnaHQsXG4gIFwiZXh0ZXJuYWwtbGluay1zcXVhcmVcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZSxcbiAgXCJib3gtb3BlblwiOiAkZmEtdmFyLWJveC1vcGVuLFxuICBcInNjcm9sbFwiOiAkZmEtdmFyLXNjcm9sbCxcbiAgXCJzcGFcIjogJGZhLXZhci1zcGEsXG4gIFwibG9jYXRpb24tcGluLWxvY2tcIjogJGZhLXZhci1sb2NhdGlvbi1waW4tbG9jayxcbiAgXCJwYXVzZVwiOiAkZmEtdmFyLXBhdXNlLFxuICBcImhpbGwtYXZhbGFuY2hlXCI6ICRmYS12YXItaGlsbC1hdmFsYW5jaGUsXG4gIFwidGVtcGVyYXR1cmUtZW1wdHlcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1lbXB0eSxcbiAgXCJ0ZW1wZXJhdHVyZS0wXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMCxcbiAgXCJ0aGVybW9tZXRlci0wXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMCxcbiAgXCJ0aGVybW9tZXRlci1lbXB0eVwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5LFxuICBcImJvbWJcIjogJGZhLXZhci1ib21iLFxuICBcInJlZ2lzdGVyZWRcIjogJGZhLXZhci1yZWdpc3RlcmVkLFxuICBcImFkZHJlc3MtY2FyZFwiOiAkZmEtdmFyLWFkZHJlc3MtY2FyZCxcbiAgXCJjb250YWN0LWNhcmRcIjogJGZhLXZhci1jb250YWN0LWNhcmQsXG4gIFwidmNhcmRcIjogJGZhLXZhci12Y2FyZCxcbiAgXCJzY2FsZS11bmJhbGFuY2VkLWZsaXBcIjogJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLWZsaXAsXG4gIFwiYmFsYW5jZS1zY2FsZS1yaWdodFwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQsXG4gIFwic3Vic2NyaXB0XCI6ICRmYS12YXItc3Vic2NyaXB0LFxuICBcImRpYW1vbmQtdHVybi1yaWdodFwiOiAkZmEtdmFyLWRpYW1vbmQtdHVybi1yaWdodCxcbiAgXCJkaXJlY3Rpb25zXCI6ICRmYS12YXItZGlyZWN0aW9ucyxcbiAgXCJidXJzdFwiOiAkZmEtdmFyLWJ1cnN0LFxuICBcImhvdXNlLWxhcHRvcFwiOiAkZmEtdmFyLWhvdXNlLWxhcHRvcCxcbiAgXCJsYXB0b3AtaG91c2VcIjogJGZhLXZhci1sYXB0b3AtaG91c2UsXG4gIFwiZmFjZS10aXJlZFwiOiAkZmEtdmFyLWZhY2UtdGlyZWQsXG4gIFwidGlyZWRcIjogJGZhLXZhci10aXJlZCxcbiAgXCJtb25leS1iaWxsc1wiOiAkZmEtdmFyLW1vbmV5LWJpbGxzLFxuICBcInNtb2dcIjogJGZhLXZhci1zbW9nLFxuICBcImNydXRjaFwiOiAkZmEtdmFyLWNydXRjaCxcbiAgXCJjbG91ZC1hcnJvdy11cFwiOiAkZmEtdmFyLWNsb3VkLWFycm93LXVwLFxuICBcImNsb3VkLXVwbG9hZFwiOiAkZmEtdmFyLWNsb3VkLXVwbG9hZCxcbiAgXCJjbG91ZC11cGxvYWQtYWx0XCI6ICRmYS12YXItY2xvdWQtdXBsb2FkLWFsdCxcbiAgXCJwYWxldHRlXCI6ICRmYS12YXItcGFsZXR0ZSxcbiAgXCJhcnJvd3MtdHVybi1yaWdodFwiOiAkZmEtdmFyLWFycm93cy10dXJuLXJpZ2h0LFxuICBcInZlc3RcIjogJGZhLXZhci12ZXN0LFxuICBcImZlcnJ5XCI6ICRmYS12YXItZmVycnksXG4gIFwiYXJyb3dzLWRvd24tdG8tcGVvcGxlXCI6ICRmYS12YXItYXJyb3dzLWRvd24tdG8tcGVvcGxlLFxuICBcInNlZWRsaW5nXCI6ICRmYS12YXItc2VlZGxpbmcsXG4gIFwic3Byb3V0XCI6ICRmYS12YXItc3Byb3V0LFxuICBcImxlZnQtcmlnaHRcIjogJGZhLXZhci1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1hbHQtaFwiOiAkZmEtdmFyLWFycm93cy1hbHQtaCxcbiAgXCJib3hlcy1wYWNraW5nXCI6ICRmYS12YXItYm94ZXMtcGFja2luZyxcbiAgXCJjaXJjbGUtYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1sZWZ0LFxuICBcImFycm93LWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQsXG4gIFwiZ3JvdXAtYXJyb3dzLXJvdGF0ZVwiOiAkZmEtdmFyLWdyb3VwLWFycm93cy1yb3RhdGUsXG4gIFwiYm93bC1mb29kXCI6ICRmYS12YXItYm93bC1mb29kLFxuICBcImNhbmR5LWNhbmVcIjogJGZhLXZhci1jYW5keS1jYW5lLFxuICBcImFycm93LWRvd24td2lkZS1zaG9ydFwiOiAkZmEtdmFyLWFycm93LWRvd24td2lkZS1zaG9ydCxcbiAgXCJzb3J0LWFtb3VudC1hc2NcIjogJGZhLXZhci1zb3J0LWFtb3VudC1hc2MsXG4gIFwic29ydC1hbW91bnQtZG93blwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24sXG4gIFwiY2xvdWQtYm9sdFwiOiAkZmEtdmFyLWNsb3VkLWJvbHQsXG4gIFwidGh1bmRlcnN0b3JtXCI6ICRmYS12YXItdGh1bmRlcnN0b3JtLFxuICBcInRleHQtc2xhc2hcIjogJGZhLXZhci10ZXh0LXNsYXNoLFxuICBcInJlbW92ZS1mb3JtYXRcIjogJGZhLXZhci1yZW1vdmUtZm9ybWF0LFxuICBcImZhY2Utc21pbGUtd2lua1wiOiAkZmEtdmFyLWZhY2Utc21pbGUtd2luayxcbiAgXCJzbWlsZS13aW5rXCI6ICRmYS12YXItc21pbGUtd2luayxcbiAgXCJmaWxlLXdvcmRcIjogJGZhLXZhci1maWxlLXdvcmQsXG4gIFwiZmlsZS1wb3dlcnBvaW50XCI6ICRmYS12YXItZmlsZS1wb3dlcnBvaW50LFxuICBcImFycm93cy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWhcIjogJGZhLXZhci1hcnJvd3MtaCxcbiAgXCJob3VzZS1sb2NrXCI6ICRmYS12YXItaG91c2UtbG9jayxcbiAgXCJjbG91ZC1hcnJvdy1kb3duXCI6ICRmYS12YXItY2xvdWQtYXJyb3ctZG93bixcbiAgXCJjbG91ZC1kb3dubG9hZFwiOiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkLFxuICBcImNsb3VkLWRvd25sb2FkLWFsdFwiOiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCxcbiAgXCJjaGlsZHJlblwiOiAkZmEtdmFyLWNoaWxkcmVuLFxuICBcImNoYWxrYm9hcmRcIjogJGZhLXZhci1jaGFsa2JvYXJkLFxuICBcImJsYWNrYm9hcmRcIjogJGZhLXZhci1ibGFja2JvYXJkLFxuICBcInVzZXItbGFyZ2Utc2xhc2hcIjogJGZhLXZhci11c2VyLWxhcmdlLXNsYXNoLFxuICBcInVzZXItYWx0LXNsYXNoXCI6ICRmYS12YXItdXNlci1hbHQtc2xhc2gsXG4gIFwiZW52ZWxvcGUtb3BlblwiOiAkZmEtdmFyLWVudmVsb3BlLW9wZW4sXG4gIFwiaGFuZHNoYWtlLXNpbXBsZS1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUtc2xhc2gsXG4gIFwiaGFuZHNoYWtlLWFsdC1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2gsXG4gIFwibWF0dHJlc3MtcGlsbG93XCI6ICRmYS12YXItbWF0dHJlc3MtcGlsbG93LFxuICBcImd1YXJhbmktc2lnblwiOiAkZmEtdmFyLWd1YXJhbmktc2lnbixcbiAgXCJhcnJvd3Mtcm90YXRlXCI6ICRmYS12YXItYXJyb3dzLXJvdGF0ZSxcbiAgXCJyZWZyZXNoXCI6ICRmYS12YXItcmVmcmVzaCxcbiAgXCJzeW5jXCI6ICRmYS12YXItc3luYyxcbiAgXCJmaXJlLWV4dGluZ3Vpc2hlclwiOiAkZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyLFxuICBcImNydXplaXJvLXNpZ25cIjogJGZhLXZhci1jcnV6ZWlyby1zaWduLFxuICBcImdyZWF0ZXItdGhhbi1lcXVhbFwiOiAkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCxcbiAgXCJzaGllbGQtaGFsdmVkXCI6ICRmYS12YXItc2hpZWxkLWhhbHZlZCxcbiAgXCJzaGllbGQtYWx0XCI6ICRmYS12YXItc2hpZWxkLWFsdCxcbiAgXCJib29rLWF0bGFzXCI6ICRmYS12YXItYm9vay1hdGxhcyxcbiAgXCJhdGxhc1wiOiAkZmEtdmFyLWF0bGFzLFxuICBcInZpcnVzXCI6ICRmYS12YXItdmlydXMsXG4gIFwiZW52ZWxvcGUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItZW52ZWxvcGUtY2lyY2xlLWNoZWNrLFxuICBcImxheWVyLWdyb3VwXCI6ICRmYS12YXItbGF5ZXItZ3JvdXAsXG4gIFwiYXJyb3dzLXRvLWRvdFwiOiAkZmEtdmFyLWFycm93cy10by1kb3QsXG4gIFwiYXJjaHdheVwiOiAkZmEtdmFyLWFyY2h3YXksXG4gIFwiaGVhcnQtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWNoZWNrLFxuICBcImhvdXNlLWNoaW1uZXktY3JhY2tcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LWNyYWNrLFxuICBcImhvdXNlLWRhbWFnZVwiOiAkZmEtdmFyLWhvdXNlLWRhbWFnZSxcbiAgXCJmaWxlLXppcHBlclwiOiAkZmEtdmFyLWZpbGUtemlwcGVyLFxuICBcImZpbGUtYXJjaGl2ZVwiOiAkZmEtdmFyLWZpbGUtYXJjaGl2ZSxcbiAgXCJzcXVhcmVcIjogJGZhLXZhci1zcXVhcmUsXG4gIFwibWFydGluaS1nbGFzcy1lbXB0eVwiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MtZW1wdHksXG4gIFwiZ2xhc3MtbWFydGluaVwiOiAkZmEtdmFyLWdsYXNzLW1hcnRpbmksXG4gIFwiY291Y2hcIjogJGZhLXZhci1jb3VjaCxcbiAgXCJjZWRpLXNpZ25cIjogJGZhLXZhci1jZWRpLXNpZ24sXG4gIFwiaXRhbGljXCI6ICRmYS12YXItaXRhbGljLFxuICBcImNodXJjaFwiOiAkZmEtdmFyLWNodXJjaCxcbiAgXCJjb21tZW50cy1kb2xsYXJcIjogJGZhLXZhci1jb21tZW50cy1kb2xsYXIsXG4gIFwiZGVtb2NyYXRcIjogJGZhLXZhci1kZW1vY3JhdCxcbiAgXCJ6XCI6ICRmYS12YXIteixcbiAgXCJwZXJzb24tc2tpaW5nXCI6ICRmYS12YXItcGVyc29uLXNraWluZyxcbiAgXCJza2lpbmdcIjogJGZhLXZhci1za2lpbmcsXG4gIFwicm9hZC1sb2NrXCI6ICRmYS12YXItcm9hZC1sb2NrLFxuICBcImFcIjogJGZhLXZhci1hLFxuICBcInRlbXBlcmF0dXJlLWFycm93LWRvd25cIjogJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy1kb3duLFxuICBcInRlbXBlcmF0dXJlLWRvd25cIjogJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duLFxuICBcImZlYXRoZXItcG9pbnRlZFwiOiAkZmEtdmFyLWZlYXRoZXItcG9pbnRlZCxcbiAgXCJmZWF0aGVyLWFsdFwiOiAkZmEtdmFyLWZlYXRoZXItYWx0LFxuICBcInBcIjogJGZhLXZhci1wLFxuICBcInNub3dmbGFrZVwiOiAkZmEtdmFyLXNub3dmbGFrZSxcbiAgXCJuZXdzcGFwZXJcIjogJGZhLXZhci1uZXdzcGFwZXIsXG4gIFwicmVjdGFuZ2xlLWFkXCI6ICRmYS12YXItcmVjdGFuZ2xlLWFkLFxuICBcImFkXCI6ICRmYS12YXItYWQsXG4gIFwiY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcImFycm93LWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodCxcbiAgXCJmaWx0ZXItY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItZmlsdGVyLWNpcmNsZS14bWFyayxcbiAgXCJsb2N1c3RcIjogJGZhLXZhci1sb2N1c3QsXG4gIFwic29ydFwiOiAkZmEtdmFyLXNvcnQsXG4gIFwidW5zb3J0ZWRcIjogJGZhLXZhci11bnNvcnRlZCxcbiAgXCJsaXN0LW9sXCI6ICRmYS12YXItbGlzdC1vbCxcbiAgXCJsaXN0LTEtMlwiOiAkZmEtdmFyLWxpc3QtMS0yLFxuICBcImxpc3QtbnVtZXJpY1wiOiAkZmEtdmFyLWxpc3QtbnVtZXJpYyxcbiAgXCJwZXJzb24tZHJlc3MtYnVyc3RcIjogJGZhLXZhci1wZXJzb24tZHJlc3MtYnVyc3QsXG4gIFwibW9uZXktY2hlY2stZG9sbGFyXCI6ICRmYS12YXItbW9uZXktY2hlY2stZG9sbGFyLFxuICBcIm1vbmV5LWNoZWNrLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLWFsdCxcbiAgXCJ2ZWN0b3Itc3F1YXJlXCI6ICRmYS12YXItdmVjdG9yLXNxdWFyZSxcbiAgXCJicmVhZC1zbGljZVwiOiAkZmEtdmFyLWJyZWFkLXNsaWNlLFxuICBcImxhbmd1YWdlXCI6ICRmYS12YXItbGFuZ3VhZ2UsXG4gIFwiZmFjZS1raXNzLXdpbmstaGVhcnRcIjogJGZhLXZhci1mYWNlLWtpc3Mtd2luay1oZWFydCxcbiAgXCJraXNzLXdpbmstaGVhcnRcIjogJGZhLXZhci1raXNzLXdpbmstaGVhcnQsXG4gIFwiZmlsdGVyXCI6ICRmYS12YXItZmlsdGVyLFxuICBcInF1ZXN0aW9uXCI6ICRmYS12YXItcXVlc3Rpb24sXG4gIFwiZmlsZS1zaWduYXR1cmVcIjogJGZhLXZhci1maWxlLXNpZ25hdHVyZSxcbiAgXCJ1cC1kb3duLWxlZnQtcmlnaHRcIjogJGZhLXZhci11cC1kb3duLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWFycm93cy1hbHQsXG4gIFwiaG91c2UtY2hpbW5leS11c2VyXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS11c2VyLFxuICBcImhhbmQtaG9sZGluZy1oZWFydFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydCxcbiAgXCJwdXp6bGUtcGllY2VcIjogJGZhLXZhci1wdXp6bGUtcGllY2UsXG4gIFwibW9uZXktY2hlY2tcIjogJGZhLXZhci1tb25leS1jaGVjayxcbiAgXCJzdGFyLWhhbGYtc3Ryb2tlXCI6ICRmYS12YXItc3Rhci1oYWxmLXN0cm9rZSxcbiAgXCJzdGFyLWhhbGYtYWx0XCI6ICRmYS12YXItc3Rhci1oYWxmLWFsdCxcbiAgXCJjb2RlXCI6ICRmYS12YXItY29kZSxcbiAgXCJ3aGlza2V5LWdsYXNzXCI6ICRmYS12YXItd2hpc2tleS1nbGFzcyxcbiAgXCJnbGFzcy13aGlza2V5XCI6ICRmYS12YXItZ2xhc3Mtd2hpc2tleSxcbiAgXCJidWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwibWFnbmlmeWluZy1nbGFzcy1jaGFydFwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtY2hhcnQsXG4gIFwiYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmVcIjogJGZhLXZhci1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZSxcbiAgXCJleHRlcm5hbC1saW5rXCI6ICRmYS12YXItZXh0ZXJuYWwtbGluayxcbiAgXCJjdWJlcy1zdGFja2VkXCI6ICRmYS12YXItY3ViZXMtc3RhY2tlZCxcbiAgXCJ3b24tc2lnblwiOiAkZmEtdmFyLXdvbi1zaWduLFxuICBcImtyd1wiOiAkZmEtdmFyLWtydyxcbiAgXCJ3b25cIjogJGZhLXZhci13b24sXG4gIFwidmlydXMtY292aWRcIjogJGZhLXZhci12aXJ1cy1jb3ZpZCxcbiAgXCJhdXN0cmFsLXNpZ25cIjogJGZhLXZhci1hdXN0cmFsLXNpZ24sXG4gIFwiZlwiOiAkZmEtdmFyLWYsXG4gIFwibGVhZlwiOiAkZmEtdmFyLWxlYWYsXG4gIFwicm9hZFwiOiAkZmEtdmFyLXJvYWQsXG4gIFwidGF4aVwiOiAkZmEtdmFyLXRheGksXG4gIFwiY2FiXCI6ICRmYS12YXItY2FiLFxuICBcInBlcnNvbi1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtcGx1cyxcbiAgXCJjaGFydC1waWVcIjogJGZhLXZhci1jaGFydC1waWUsXG4gIFwicGllLWNoYXJ0XCI6ICRmYS12YXItcGllLWNoYXJ0LFxuICBcImJvbHQtbGlnaHRuaW5nXCI6ICRmYS12YXItYm9sdC1saWdodG5pbmcsXG4gIFwic2Fjay14bWFya1wiOiAkZmEtdmFyLXNhY2steG1hcmssXG4gIFwiZmlsZS1leGNlbFwiOiAkZmEtdmFyLWZpbGUtZXhjZWwsXG4gIFwiZmlsZS1jb250cmFjdFwiOiAkZmEtdmFyLWZpbGUtY29udHJhY3QsXG4gIFwiZmlzaC1maW5zXCI6ICRmYS12YXItZmlzaC1maW5zLFxuICBcImJ1aWxkaW5nLWZsYWdcIjogJGZhLXZhci1idWlsZGluZy1mbGFnLFxuICBcImZhY2UtZ3Jpbi1iZWFtXCI6ICRmYS12YXItZmFjZS1ncmluLWJlYW0sXG4gIFwiZ3Jpbi1iZWFtXCI6ICRmYS12YXItZ3Jpbi1iZWFtLFxuICBcIm9iamVjdC11bmdyb3VwXCI6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXAsXG4gIFwicG9vcFwiOiAkZmEtdmFyLXBvb3AsXG4gIFwibG9jYXRpb24tcGluXCI6ICRmYS12YXItbG9jYXRpb24tcGluLFxuICBcIm1hcC1tYXJrZXJcIjogJGZhLXZhci1tYXAtbWFya2VyLFxuICBcImthYWJhXCI6ICRmYS12YXIta2FhYmEsXG4gIFwidG9pbGV0LXBhcGVyXCI6ICRmYS12YXItdG9pbGV0LXBhcGVyLFxuICBcImhlbG1ldC1zYWZldHlcIjogJGZhLXZhci1oZWxtZXQtc2FmZXR5LFxuICBcImhhcmQtaGF0XCI6ICRmYS12YXItaGFyZC1oYXQsXG4gIFwiaGF0LWhhcmRcIjogJGZhLXZhci1oYXQtaGFyZCxcbiAgXCJlamVjdFwiOiAkZmEtdmFyLWVqZWN0LFxuICBcImNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1yaWdodCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCxcbiAgXCJwbGFuZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wbGFuZS1jaXJjbGUtY2hlY2ssXG4gIFwiZmFjZS1yb2xsaW5nLWV5ZXNcIjogJGZhLXZhci1mYWNlLXJvbGxpbmctZXllcyxcbiAgXCJtZWgtcm9sbGluZy1leWVzXCI6ICRmYS12YXItbWVoLXJvbGxpbmctZXllcyxcbiAgXCJvYmplY3QtZ3JvdXBcIjogJGZhLXZhci1vYmplY3QtZ3JvdXAsXG4gIFwiY2hhcnQtbGluZVwiOiAkZmEtdmFyLWNoYXJ0LWxpbmUsXG4gIFwibGluZS1jaGFydFwiOiAkZmEtdmFyLWxpbmUtY2hhcnQsXG4gIFwibWFzay12ZW50aWxhdG9yXCI6ICRmYS12YXItbWFzay12ZW50aWxhdG9yLFxuICBcImFycm93LXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQsXG4gIFwic2lnbnMtcG9zdFwiOiAkZmEtdmFyLXNpZ25zLXBvc3QsXG4gIFwibWFwLXNpZ25zXCI6ICRmYS12YXItbWFwLXNpZ25zLFxuICBcImNhc2gtcmVnaXN0ZXJcIjogJGZhLXZhci1jYXNoLXJlZ2lzdGVyLFxuICBcInBlcnNvbi1jaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXF1ZXN0aW9uLFxuICBcImhcIjogJGZhLXZhci1oLFxuICBcInRhcnBcIjogJGZhLXZhci10YXJwLFxuICBcInNjcmV3ZHJpdmVyLXdyZW5jaFwiOiAkZmEtdmFyLXNjcmV3ZHJpdmVyLXdyZW5jaCxcbiAgXCJ0b29sc1wiOiAkZmEtdmFyLXRvb2xzLFxuICBcImFycm93cy10by1leWVcIjogJGZhLXZhci1hcnJvd3MtdG8tZXllLFxuICBcInBsdWctY2lyY2xlLWJvbHRcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1ib2x0LFxuICBcImhlYXJ0XCI6ICRmYS12YXItaGVhcnQsXG4gIFwibWFycy1hbmQtdmVudXNcIjogJGZhLXZhci1tYXJzLWFuZC12ZW51cyxcbiAgXCJob3VzZS11c2VyXCI6ICRmYS12YXItaG91c2UtdXNlcixcbiAgXCJob21lLXVzZXJcIjogJGZhLXZhci1ob21lLXVzZXIsXG4gIFwiZHVtcHN0ZXItZmlyZVwiOiAkZmEtdmFyLWR1bXBzdGVyLWZpcmUsXG4gIFwiaG91c2UtY3JhY2tcIjogJGZhLXZhci1ob3VzZS1jcmFjayxcbiAgXCJtYXJ0aW5pLWdsYXNzLWNpdHJ1c1wiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MtY2l0cnVzLFxuICBcImNvY2t0YWlsXCI6ICRmYS12YXItY29ja3RhaWwsXG4gIFwiZmFjZS1zdXJwcmlzZVwiOiAkZmEtdmFyLWZhY2Utc3VycHJpc2UsXG4gIFwic3VycHJpc2VcIjogJGZhLXZhci1zdXJwcmlzZSxcbiAgXCJib3R0bGUtd2F0ZXJcIjogJGZhLXZhci1ib3R0bGUtd2F0ZXIsXG4gIFwiY2lyY2xlLXBhdXNlXCI6ICRmYS12YXItY2lyY2xlLXBhdXNlLFxuICBcInBhdXNlLWNpcmNsZVwiOiAkZmEtdmFyLXBhdXNlLWNpcmNsZSxcbiAgXCJ0b2lsZXQtcGFwZXItc2xhc2hcIjogJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2gsXG4gIFwiYXBwbGUtd2hvbGVcIjogJGZhLXZhci1hcHBsZS13aG9sZSxcbiAgXCJhcHBsZS1hbHRcIjogJGZhLXZhci1hcHBsZS1hbHQsXG4gIFwia2l0Y2hlbi1zZXRcIjogJGZhLXZhci1raXRjaGVuLXNldCxcbiAgXCJyXCI6ICRmYS12YXItcixcbiAgXCJ0ZW1wZXJhdHVyZS1xdWFydGVyXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtcXVhcnRlcixcbiAgXCJ0ZW1wZXJhdHVyZS0xXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMSxcbiAgXCJ0aGVybW9tZXRlci0xXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMSxcbiAgXCJ0aGVybW9tZXRlci1xdWFydGVyXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcixcbiAgXCJjdWJlXCI6ICRmYS12YXItY3ViZSxcbiAgXCJiaXRjb2luLXNpZ25cIjogJGZhLXZhci1iaXRjb2luLXNpZ24sXG4gIFwic2hpZWxkLWRvZ1wiOiAkZmEtdmFyLXNoaWVsZC1kb2csXG4gIFwic29sYXItcGFuZWxcIjogJGZhLXZhci1zb2xhci1wYW5lbCxcbiAgXCJsb2NrLW9wZW5cIjogJGZhLXZhci1sb2NrLW9wZW4sXG4gIFwiZWxldmF0b3JcIjogJGZhLXZhci1lbGV2YXRvcixcbiAgXCJtb25leS1iaWxsLXRyYW5zZmVyXCI6ICRmYS12YXItbW9uZXktYmlsbC10cmFuc2ZlcixcbiAgXCJtb25leS1iaWxsLXRyZW5kLXVwXCI6ICRmYS12YXItbW9uZXktYmlsbC10cmVuZC11cCxcbiAgXCJob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwic3F1YXJlLXBvbGwtaG9yaXpvbnRhbFwiOiAkZmEtdmFyLXNxdWFyZS1wb2xsLWhvcml6b250YWwsXG4gIFwicG9sbC1oXCI6ICRmYS12YXItcG9sbC1oLFxuICBcImNpcmNsZVwiOiAkZmEtdmFyLWNpcmNsZSxcbiAgXCJiYWNrd2FyZC1mYXN0XCI6ICRmYS12YXItYmFja3dhcmQtZmFzdCxcbiAgXCJmYXN0LWJhY2t3YXJkXCI6ICRmYS12YXItZmFzdC1iYWNrd2FyZCxcbiAgXCJyZWN5Y2xlXCI6ICRmYS12YXItcmVjeWNsZSxcbiAgXCJ1c2VyLWFzdHJvbmF1dFwiOiAkZmEtdmFyLXVzZXItYXN0cm9uYXV0LFxuICBcInBsYW5lLXNsYXNoXCI6ICRmYS12YXItcGxhbmUtc2xhc2gsXG4gIFwidHJhZGVtYXJrXCI6ICRmYS12YXItdHJhZGVtYXJrLFxuICBcImJhc2tldGJhbGxcIjogJGZhLXZhci1iYXNrZXRiYWxsLFxuICBcImJhc2tldGJhbGwtYmFsbFwiOiAkZmEtdmFyLWJhc2tldGJhbGwtYmFsbCxcbiAgXCJzYXRlbGxpdGUtZGlzaFwiOiAkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoLFxuICBcImNpcmNsZS11cFwiOiAkZmEtdmFyLWNpcmNsZS11cCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLXVwXCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCxcbiAgXCJtb2JpbGUtc2NyZWVuLWJ1dHRvblwiOiAkZmEtdmFyLW1vYmlsZS1zY3JlZW4tYnV0dG9uLFxuICBcIm1vYmlsZS1hbHRcIjogJGZhLXZhci1tb2JpbGUtYWx0LFxuICBcInZvbHVtZS1oaWdoXCI6ICRmYS12YXItdm9sdW1lLWhpZ2gsXG4gIFwidm9sdW1lLXVwXCI6ICRmYS12YXItdm9sdW1lLXVwLFxuICBcInVzZXJzLXJheXNcIjogJGZhLXZhci11c2Vycy1yYXlzLFxuICBcIndhbGxldFwiOiAkZmEtdmFyLXdhbGxldCxcbiAgXCJjbGlwYm9hcmQtY2hlY2tcIjogJGZhLXZhci1jbGlwYm9hcmQtY2hlY2ssXG4gIFwiZmlsZS1hdWRpb1wiOiAkZmEtdmFyLWZpbGUtYXVkaW8sXG4gIFwiYnVyZ2VyXCI6ICRmYS12YXItYnVyZ2VyLFxuICBcImhhbWJ1cmdlclwiOiAkZmEtdmFyLWhhbWJ1cmdlcixcbiAgXCJ3cmVuY2hcIjogJGZhLXZhci13cmVuY2gsXG4gIFwiYnVnc1wiOiAkZmEtdmFyLWJ1Z3MsXG4gIFwicnVwZWUtc2lnblwiOiAkZmEtdmFyLXJ1cGVlLXNpZ24sXG4gIFwicnVwZWVcIjogJGZhLXZhci1ydXBlZSxcbiAgXCJmaWxlLWltYWdlXCI6ICRmYS12YXItZmlsZS1pbWFnZSxcbiAgXCJjaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1jaXJjbGUtcXVlc3Rpb24sXG4gIFwicXVlc3Rpb24tY2lyY2xlXCI6ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlLFxuICBcInBsYW5lLWRlcGFydHVyZVwiOiAkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSxcbiAgXCJoYW5kc2hha2Utc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2Utc2xhc2gsXG4gIFwiYm9vay1ib29rbWFya1wiOiAkZmEtdmFyLWJvb2stYm9va21hcmssXG4gIFwiY29kZS1icmFuY2hcIjogJGZhLXZhci1jb2RlLWJyYW5jaCxcbiAgXCJoYXQtY293Ym95XCI6ICRmYS12YXItaGF0LWNvd2JveSxcbiAgXCJicmlkZ2VcIjogJGZhLXZhci1icmlkZ2UsXG4gIFwicGhvbmUtZmxpcFwiOiAkZmEtdmFyLXBob25lLWZsaXAsXG4gIFwicGhvbmUtYWx0XCI6ICRmYS12YXItcGhvbmUtYWx0LFxuICBcInRydWNrLWZyb250XCI6ICRmYS12YXItdHJ1Y2stZnJvbnQsXG4gIFwiY2F0XCI6ICRmYS12YXItY2F0LFxuICBcImFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInRydWNrLWZpZWxkXCI6ICRmYS12YXItdHJ1Y2stZmllbGQsXG4gIFwicm91dGVcIjogJGZhLXZhci1yb3V0ZSxcbiAgXCJjbGlwYm9hcmQtcXVlc3Rpb25cIjogJGZhLXZhci1jbGlwYm9hcmQtcXVlc3Rpb24sXG4gIFwicGFub3JhbWFcIjogJGZhLXZhci1wYW5vcmFtYSxcbiAgXCJjb21tZW50LW1lZGljYWxcIjogJGZhLXZhci1jb21tZW50LW1lZGljYWwsXG4gIFwidGVldGgtb3BlblwiOiAkZmEtdmFyLXRlZXRoLW9wZW4sXG4gIFwiZmlsZS1jaXJjbGUtbWludXNcIjogJGZhLXZhci1maWxlLWNpcmNsZS1taW51cyxcbiAgXCJ0YWdzXCI6ICRmYS12YXItdGFncyxcbiAgXCJ3aW5lLWdsYXNzXCI6ICRmYS12YXItd2luZS1nbGFzcyxcbiAgXCJmb3J3YXJkLWZhc3RcIjogJGZhLXZhci1mb3J3YXJkLWZhc3QsXG4gIFwiZmFzdC1mb3J3YXJkXCI6ICRmYS12YXItZmFzdC1mb3J3YXJkLFxuICBcImZhY2UtbWVoLWJsYW5rXCI6ICRmYS12YXItZmFjZS1tZWgtYmxhbmssXG4gIFwibWVoLWJsYW5rXCI6ICRmYS12YXItbWVoLWJsYW5rLFxuICBcInNxdWFyZS1wYXJraW5nXCI6ICRmYS12YXItc3F1YXJlLXBhcmtpbmcsXG4gIFwicGFya2luZ1wiOiAkZmEtdmFyLXBhcmtpbmcsXG4gIFwiaG91c2Utc2lnbmFsXCI6ICRmYS12YXItaG91c2Utc2lnbmFsLFxuICBcImJhcnMtcHJvZ3Jlc3NcIjogJGZhLXZhci1iYXJzLXByb2dyZXNzLFxuICBcInRhc2tzLWFsdFwiOiAkZmEtdmFyLXRhc2tzLWFsdCxcbiAgXCJmYXVjZXQtZHJpcFwiOiAkZmEtdmFyLWZhdWNldC1kcmlwLFxuICBcImNhcnQtZmxhdGJlZFwiOiAkZmEtdmFyLWNhcnQtZmxhdGJlZCxcbiAgXCJkb2xseS1mbGF0YmVkXCI6ICRmYS12YXItZG9sbHktZmxhdGJlZCxcbiAgXCJiYW4tc21va2luZ1wiOiAkZmEtdmFyLWJhbi1zbW9raW5nLFxuICBcInNtb2tpbmctYmFuXCI6ICRmYS12YXItc21va2luZy1iYW4sXG4gIFwidGVybWluYWxcIjogJGZhLXZhci10ZXJtaW5hbCxcbiAgXCJtb2JpbGUtYnV0dG9uXCI6ICRmYS12YXItbW9iaWxlLWJ1dHRvbixcbiAgXCJob3VzZS1tZWRpY2FsLWZsYWdcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWZsYWcsXG4gIFwiYmFza2V0LXNob3BwaW5nXCI6ICRmYS12YXItYmFza2V0LXNob3BwaW5nLFxuICBcInNob3BwaW5nLWJhc2tldFwiOiAkZmEtdmFyLXNob3BwaW5nLWJhc2tldCxcbiAgXCJ0YXBlXCI6ICRmYS12YXItdGFwZSxcbiAgXCJidXMtc2ltcGxlXCI6ICRmYS12YXItYnVzLXNpbXBsZSxcbiAgXCJidXMtYWx0XCI6ICRmYS12YXItYnVzLWFsdCxcbiAgXCJleWVcIjogJGZhLXZhci1leWUsXG4gIFwiZmFjZS1zYWQtY3J5XCI6ICRmYS12YXItZmFjZS1zYWQtY3J5LFxuICBcInNhZC1jcnlcIjogJGZhLXZhci1zYWQtY3J5LFxuICBcImF1ZGlvLWRlc2NyaXB0aW9uXCI6ICRmYS12YXItYXVkaW8tZGVzY3JpcHRpb24sXG4gIFwicGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvblwiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS10by1wZXJzb24sXG4gIFwiZmlsZS1zaGllbGRcIjogJGZhLXZhci1maWxlLXNoaWVsZCxcbiAgXCJ1c2VyLXNsYXNoXCI6ICRmYS12YXItdXNlci1zbGFzaCxcbiAgXCJwZW5cIjogJGZhLXZhci1wZW4sXG4gIFwidG93ZXItb2JzZXJ2YXRpb25cIjogJGZhLXZhci10b3dlci1vYnNlcnZhdGlvbixcbiAgXCJmaWxlLWNvZGVcIjogJGZhLXZhci1maWxlLWNvZGUsXG4gIFwic2lnbmFsXCI6ICRmYS12YXItc2lnbmFsLFxuICBcInNpZ25hbC01XCI6ICRmYS12YXItc2lnbmFsLTUsXG4gIFwic2lnbmFsLXBlcmZlY3RcIjogJGZhLXZhci1zaWduYWwtcGVyZmVjdCxcbiAgXCJidXNcIjogJGZhLXZhci1idXMsXG4gIFwiaGVhcnQtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLXhtYXJrLFxuICBcImhvdXNlLWNoaW1uZXlcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LFxuICBcImhvbWUtbGdcIjogJGZhLXZhci1ob21lLWxnLFxuICBcIndpbmRvdy1tYXhpbWl6ZVwiOiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSxcbiAgXCJmYWNlLWZyb3duXCI6ICRmYS12YXItZmFjZS1mcm93bixcbiAgXCJmcm93blwiOiAkZmEtdmFyLWZyb3duLFxuICBcInByZXNjcmlwdGlvblwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbixcbiAgXCJzaG9wXCI6ICRmYS12YXItc2hvcCxcbiAgXCJzdG9yZS1hbHRcIjogJGZhLXZhci1zdG9yZS1hbHQsXG4gIFwiZmxvcHB5LWRpc2tcIjogJGZhLXZhci1mbG9wcHktZGlzayxcbiAgXCJzYXZlXCI6ICRmYS12YXItc2F2ZSxcbiAgXCJ2aWhhcmFcIjogJGZhLXZhci12aWhhcmEsXG4gIFwic2NhbGUtdW5iYWxhbmNlZFwiOiAkZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQsXG4gIFwiYmFsYW5jZS1zY2FsZS1sZWZ0XCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0LFxuICBcInNvcnQtdXBcIjogJGZhLXZhci1zb3J0LXVwLFxuICBcInNvcnQtYXNjXCI6ICRmYS12YXItc29ydC1hc2MsXG4gIFwiY29tbWVudC1kb3RzXCI6ICRmYS12YXItY29tbWVudC1kb3RzLFxuICBcImNvbW1lbnRpbmdcIjogJGZhLXZhci1jb21tZW50aW5nLFxuICBcInBsYW50LXdpbHRcIjogJGZhLXZhci1wbGFudC13aWx0LFxuICBcImRpYW1vbmRcIjogJGZhLXZhci1kaWFtb25kLFxuICBcImZhY2UtZ3Jpbi1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LFxuICBcImdyaW4tc3F1aW50XCI6ICRmYS12YXItZ3Jpbi1zcXVpbnQsXG4gIFwiaGFuZC1ob2xkaW5nLWRvbGxhclwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1kb2xsYXIsXG4gIFwiaGFuZC1ob2xkaW5nLXVzZFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy11c2QsXG4gIFwiYmFjdGVyaXVtXCI6ICRmYS12YXItYmFjdGVyaXVtLFxuICBcImhhbmQtcG9pbnRlclwiOiAkZmEtdmFyLWhhbmQtcG9pbnRlcixcbiAgXCJkcnVtLXN0ZWVscGFuXCI6ICRmYS12YXItZHJ1bS1zdGVlbHBhbixcbiAgXCJoYW5kLXNjaXNzb3JzXCI6ICRmYS12YXItaGFuZC1zY2lzc29ycyxcbiAgXCJoYW5kcy1wcmF5aW5nXCI6ICRmYS12YXItaGFuZHMtcHJheWluZyxcbiAgXCJwcmF5aW5nLWhhbmRzXCI6ICRmYS12YXItcHJheWluZy1oYW5kcyxcbiAgXCJhcnJvdy1yb3RhdGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtcmlnaHQsXG4gIFwiYXJyb3ctcmlnaHQtcm90YXRlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtcm90YXRlLFxuICBcImFycm93LXJvdGF0ZS1mb3J3YXJkXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWZvcndhcmQsXG4gIFwicmVkb1wiOiAkZmEtdmFyLXJlZG8sXG4gIFwiYmlvaGF6YXJkXCI6ICRmYS12YXItYmlvaGF6YXJkLFxuICBcImxvY2F0aW9uLWNyb3NzaGFpcnNcIjogJGZhLXZhci1sb2NhdGlvbi1jcm9zc2hhaXJzLFxuICBcImxvY2F0aW9uXCI6ICRmYS12YXItbG9jYXRpb24sXG4gIFwibWFycy1kb3VibGVcIjogJGZhLXZhci1tYXJzLWRvdWJsZSxcbiAgXCJjaGlsZC1kcmVzc1wiOiAkZmEtdmFyLWNoaWxkLWRyZXNzLFxuICBcInVzZXJzLWJldHdlZW4tbGluZXNcIjogJGZhLXZhci11c2Vycy1iZXR3ZWVuLWxpbmVzLFxuICBcImx1bmdzLXZpcnVzXCI6ICRmYS12YXItbHVuZ3MtdmlydXMsXG4gIFwiZmFjZS1ncmluLXRlYXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXRlYXJzLFxuICBcImdyaW4tdGVhcnNcIjogJGZhLXZhci1ncmluLXRlYXJzLFxuICBcInBob25lXCI6ICRmYS12YXItcGhvbmUsXG4gIFwiY2FsZW5kYXIteG1hcmtcIjogJGZhLXZhci1jYWxlbmRhci14bWFyayxcbiAgXCJjYWxlbmRhci10aW1lc1wiOiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLFxuICBcImNoaWxkLXJlYWNoaW5nXCI6ICRmYS12YXItY2hpbGQtcmVhY2hpbmcsXG4gIFwiaGVhZC1zaWRlLXZpcnVzXCI6ICRmYS12YXItaGVhZC1zaWRlLXZpcnVzLFxuICBcInVzZXItZ2VhclwiOiAkZmEtdmFyLXVzZXItZ2VhcixcbiAgXCJ1c2VyLWNvZ1wiOiAkZmEtdmFyLXVzZXItY29nLFxuICBcImFycm93LXVwLTEtOVwiOiAkZmEtdmFyLWFycm93LXVwLTEtOSxcbiAgXCJzb3J0LW51bWVyaWMtdXBcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtdXAsXG4gIFwiZG9vci1jbG9zZWRcIjogJGZhLXZhci1kb29yLWNsb3NlZCxcbiAgXCJzaGllbGQtdmlydXNcIjogJGZhLXZhci1zaGllbGQtdmlydXMsXG4gIFwiZGljZS1zaXhcIjogJGZhLXZhci1kaWNlLXNpeCxcbiAgXCJtb3NxdWl0by1uZXRcIjogJGZhLXZhci1tb3NxdWl0by1uZXQsXG4gIFwiYnJpZGdlLXdhdGVyXCI6ICRmYS12YXItYnJpZGdlLXdhdGVyLFxuICBcInBlcnNvbi1ib290aFwiOiAkZmEtdmFyLXBlcnNvbi1ib290aCxcbiAgXCJ0ZXh0LXdpZHRoXCI6ICRmYS12YXItdGV4dC13aWR0aCxcbiAgXCJoYXQtd2l6YXJkXCI6ICRmYS12YXItaGF0LXdpemFyZCxcbiAgXCJwZW4tZmFuY3lcIjogJGZhLXZhci1wZW4tZmFuY3ksXG4gIFwicGVyc29uLWRpZ2dpbmdcIjogJGZhLXZhci1wZXJzb24tZGlnZ2luZyxcbiAgXCJkaWdnaW5nXCI6ICRmYS12YXItZGlnZ2luZyxcbiAgXCJ0cmFzaFwiOiAkZmEtdmFyLXRyYXNoLFxuICBcImdhdWdlLXNpbXBsZVwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZSxcbiAgXCJnYXVnZS1zaW1wbGUtbWVkXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLW1lZCxcbiAgXCJ0YWNob21ldGVyLWF2ZXJhZ2VcIjogJGZhLXZhci10YWNob21ldGVyLWF2ZXJhZ2UsXG4gIFwiYm9vay1tZWRpY2FsXCI6ICRmYS12YXItYm9vay1tZWRpY2FsLFxuICBcInBvb1wiOiAkZmEtdmFyLXBvbyxcbiAgXCJxdW90ZS1yaWdodFwiOiAkZmEtdmFyLXF1b3RlLXJpZ2h0LFxuICBcInF1b3RlLXJpZ2h0LWFsdFwiOiAkZmEtdmFyLXF1b3RlLXJpZ2h0LWFsdCxcbiAgXCJzaGlydFwiOiAkZmEtdmFyLXNoaXJ0LFxuICBcInQtc2hpcnRcIjogJGZhLXZhci10LXNoaXJ0LFxuICBcInRzaGlydFwiOiAkZmEtdmFyLXRzaGlydCxcbiAgXCJjdWJlc1wiOiAkZmEtdmFyLWN1YmVzLFxuICBcImRpdmlkZVwiOiAkZmEtdmFyLWRpdmlkZSxcbiAgXCJ0ZW5nZS1zaWduXCI6ICRmYS12YXItdGVuZ2Utc2lnbixcbiAgXCJ0ZW5nZVwiOiAkZmEtdmFyLXRlbmdlLFxuICBcImhlYWRwaG9uZXNcIjogJGZhLXZhci1oZWFkcGhvbmVzLFxuICBcImhhbmRzLWhvbGRpbmdcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLFxuICBcImhhbmRzLWNsYXBwaW5nXCI6ICRmYS12YXItaGFuZHMtY2xhcHBpbmcsXG4gIFwicmVwdWJsaWNhblwiOiAkZmEtdmFyLXJlcHVibGljYW4sXG4gIFwiYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWFycm93LWxlZnQsXG4gIFwicGVyc29uLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUteG1hcmssXG4gIFwicnVsZXJcIjogJGZhLXZhci1ydWxlcixcbiAgXCJhbGlnbi1sZWZ0XCI6ICRmYS12YXItYWxpZ24tbGVmdCxcbiAgXCJkaWNlLWQ2XCI6ICRmYS12YXItZGljZS1kNixcbiAgXCJyZXN0cm9vbVwiOiAkZmEtdmFyLXJlc3Ryb29tLFxuICBcImpcIjogJGZhLXZhci1qLFxuICBcInVzZXJzLXZpZXdmaW5kZXJcIjogJGZhLXZhci11c2Vycy12aWV3ZmluZGVyLFxuICBcImZpbGUtdmlkZW9cIjogJGZhLXZhci1maWxlLXZpZGVvLFxuICBcInVwLXJpZ2h0LWZyb20tc3F1YXJlXCI6ICRmYS12YXItdXAtcmlnaHQtZnJvbS1zcXVhcmUsXG4gIFwiZXh0ZXJuYWwtbGluay1hbHRcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCxcbiAgXCJ0YWJsZS1jZWxsc1wiOiAkZmEtdmFyLXRhYmxlLWNlbGxzLFxuICBcInRoXCI6ICRmYS12YXItdGgsXG4gIFwiZmlsZS1wZGZcIjogJGZhLXZhci1maWxlLXBkZixcbiAgXCJib29rLWJpYmxlXCI6ICRmYS12YXItYm9vay1iaWJsZSxcbiAgXCJiaWJsZVwiOiAkZmEtdmFyLWJpYmxlLFxuICBcIm9cIjogJGZhLXZhci1vLFxuICBcInN1aXRjYXNlLW1lZGljYWxcIjogJGZhLXZhci1zdWl0Y2FzZS1tZWRpY2FsLFxuICBcIm1lZGtpdFwiOiAkZmEtdmFyLW1lZGtpdCxcbiAgXCJ1c2VyLXNlY3JldFwiOiAkZmEtdmFyLXVzZXItc2VjcmV0LFxuICBcIm90dGVyXCI6ICRmYS12YXItb3R0ZXIsXG4gIFwicGVyc29uLWRyZXNzXCI6ICRmYS12YXItcGVyc29uLWRyZXNzLFxuICBcImZlbWFsZVwiOiAkZmEtdmFyLWZlbWFsZSxcbiAgXCJjb21tZW50LWRvbGxhclwiOiAkZmEtdmFyLWNvbW1lbnQtZG9sbGFyLFxuICBcImJ1c2luZXNzLXRpbWVcIjogJGZhLXZhci1idXNpbmVzcy10aW1lLFxuICBcImJyaWVmY2FzZS1jbG9ja1wiOiAkZmEtdmFyLWJyaWVmY2FzZS1jbG9jayxcbiAgXCJ0YWJsZS1jZWxscy1sYXJnZVwiOiAkZmEtdmFyLXRhYmxlLWNlbGxzLWxhcmdlLFxuICBcInRoLWxhcmdlXCI6ICRmYS12YXItdGgtbGFyZ2UsXG4gIFwiYm9vay10YW5ha2hcIjogJGZhLXZhci1ib29rLXRhbmFraCxcbiAgXCJ0YW5ha2hcIjogJGZhLXZhci10YW5ha2gsXG4gIFwicGhvbmUtdm9sdW1lXCI6ICRmYS12YXItcGhvbmUtdm9sdW1lLFxuICBcInZvbHVtZS1jb250cm9sLXBob25lXCI6ICRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmUsXG4gIFwiaGF0LWNvd2JveS1zaWRlXCI6ICRmYS12YXItaGF0LWNvd2JveS1zaWRlLFxuICBcImNsaXBib2FyZC11c2VyXCI6ICRmYS12YXItY2xpcGJvYXJkLXVzZXIsXG4gIFwiY2hpbGRcIjogJGZhLXZhci1jaGlsZCxcbiAgXCJsaXJhLXNpZ25cIjogJGZhLXZhci1saXJhLXNpZ24sXG4gIFwic2F0ZWxsaXRlXCI6ICRmYS12YXItc2F0ZWxsaXRlLFxuICBcInBsYW5lLWxvY2tcIjogJGZhLXZhci1wbGFuZS1sb2NrLFxuICBcInRhZ1wiOiAkZmEtdmFyLXRhZyxcbiAgXCJjb21tZW50XCI6ICRmYS12YXItY29tbWVudCxcbiAgXCJjYWtlLWNhbmRsZXNcIjogJGZhLXZhci1jYWtlLWNhbmRsZXMsXG4gIFwiYmlydGhkYXktY2FrZVwiOiAkZmEtdmFyLWJpcnRoZGF5LWNha2UsXG4gIFwiY2FrZVwiOiAkZmEtdmFyLWNha2UsXG4gIFwiZW52ZWxvcGVcIjogJGZhLXZhci1lbnZlbG9wZSxcbiAgXCJhbmdsZXMtdXBcIjogJGZhLXZhci1hbmdsZXMtdXAsXG4gIFwiYW5nbGUtZG91YmxlLXVwXCI6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwLFxuICBcInBhcGVyY2xpcFwiOiAkZmEtdmFyLXBhcGVyY2xpcCxcbiAgXCJhcnJvdy1yaWdodC10by1jaXR5XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tY2l0eSxcbiAgXCJyaWJib25cIjogJGZhLXZhci1yaWJib24sXG4gIFwibHVuZ3NcIjogJGZhLXZhci1sdW5ncyxcbiAgXCJhcnJvdy11cC05LTFcIjogJGZhLXZhci1hcnJvdy11cC05LTEsXG4gIFwic29ydC1udW1lcmljLXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQsXG4gIFwibGl0ZWNvaW4tc2lnblwiOiAkZmEtdmFyLWxpdGVjb2luLXNpZ24sXG4gIFwiYm9yZGVyLW5vbmVcIjogJGZhLXZhci1ib3JkZXItbm9uZSxcbiAgXCJjaXJjbGUtbm9kZXNcIjogJGZhLXZhci1jaXJjbGUtbm9kZXMsXG4gIFwicGFyYWNodXRlLWJveFwiOiAkZmEtdmFyLXBhcmFjaHV0ZS1ib3gsXG4gIFwiaW5kZW50XCI6ICRmYS12YXItaW5kZW50LFxuICBcInRydWNrLWZpZWxkLXVuXCI6ICRmYS12YXItdHJ1Y2stZmllbGQtdW4sXG4gIFwiaG91cmdsYXNzXCI6ICRmYS12YXItaG91cmdsYXNzLFxuICBcImhvdXJnbGFzcy1lbXB0eVwiOiAkZmEtdmFyLWhvdXJnbGFzcy1lbXB0eSxcbiAgXCJtb3VudGFpblwiOiAkZmEtdmFyLW1vdW50YWluLFxuICBcInVzZXItZG9jdG9yXCI6ICRmYS12YXItdXNlci1kb2N0b3IsXG4gIFwidXNlci1tZFwiOiAkZmEtdmFyLXVzZXItbWQsXG4gIFwiY2lyY2xlLWluZm9cIjogJGZhLXZhci1jaXJjbGUtaW5mbyxcbiAgXCJpbmZvLWNpcmNsZVwiOiAkZmEtdmFyLWluZm8tY2lyY2xlLFxuICBcImNsb3VkLW1lYXRiYWxsXCI6ICRmYS12YXItY2xvdWQtbWVhdGJhbGwsXG4gIFwiY2FtZXJhXCI6ICRmYS12YXItY2FtZXJhLFxuICBcImNhbWVyYS1hbHRcIjogJGZhLXZhci1jYW1lcmEtYWx0LFxuICBcInNxdWFyZS12aXJ1c1wiOiAkZmEtdmFyLXNxdWFyZS12aXJ1cyxcbiAgXCJtZXRlb3JcIjogJGZhLXZhci1tZXRlb3IsXG4gIFwiY2FyLW9uXCI6ICRmYS12YXItY2FyLW9uLFxuICBcInNsZWlnaFwiOiAkZmEtdmFyLXNsZWlnaCxcbiAgXCJhcnJvdy1kb3duLTEtOVwiOiAkZmEtdmFyLWFycm93LWRvd24tMS05LFxuICBcInNvcnQtbnVtZXJpYy1hc2NcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjLFxuICBcInNvcnQtbnVtZXJpYy1kb3duXCI6ICRmYS12YXItc29ydC1udW1lcmljLWRvd24sXG4gIFwiaGFuZC1ob2xkaW5nLWRyb3BsZXRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctZHJvcGxldCxcbiAgXCJoYW5kLWhvbGRpbmctd2F0ZXJcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXIsXG4gIFwid2F0ZXJcIjogJGZhLXZhci13YXRlcixcbiAgXCJjYWxlbmRhci1jaGVja1wiOiAkZmEtdmFyLWNhbGVuZGFyLWNoZWNrLFxuICBcImJyYWlsbGVcIjogJGZhLXZhci1icmFpbGxlLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbFwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlLWFsdFwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0LFxuICBcImxhbmRtYXJrXCI6ICRmYS12YXItbGFuZG1hcmssXG4gIFwidHJ1Y2tcIjogJGZhLXZhci10cnVjayxcbiAgXCJjcm9zc2hhaXJzXCI6ICRmYS12YXItY3Jvc3NoYWlycyxcbiAgXCJwZXJzb24tY2FuZVwiOiAkZmEtdmFyLXBlcnNvbi1jYW5lLFxuICBcInRlbnRcIjogJGZhLXZhci10ZW50LFxuICBcInZlc3QtcGF0Y2hlc1wiOiAkZmEtdmFyLXZlc3QtcGF0Y2hlcyxcbiAgXCJjaGVjay1kb3VibGVcIjogJGZhLXZhci1jaGVjay1kb3VibGUsXG4gIFwiYXJyb3ctZG93bi1hLXpcIjogJGZhLXZhci1hcnJvdy1kb3duLWEteixcbiAgXCJzb3J0LWFscGhhLWFzY1wiOiAkZmEtdmFyLXNvcnQtYWxwaGEtYXNjLFxuICBcInNvcnQtYWxwaGEtZG93blwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZG93bixcbiAgXCJtb25leS1iaWxsLXdoZWF0XCI6ICRmYS12YXItbW9uZXktYmlsbC13aGVhdCxcbiAgXCJjb29raWVcIjogJGZhLXZhci1jb29raWUsXG4gIFwiYXJyb3ctcm90YXRlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtbGVmdCxcbiAgXCJhcnJvdy1sZWZ0LXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93LWxlZnQtcm90YXRlLFxuICBcImFycm93LXJvdGF0ZS1iYWNrXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWJhY2ssXG4gIFwiYXJyb3ctcm90YXRlLWJhY2t3YXJkXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWJhY2t3YXJkLFxuICBcInVuZG9cIjogJGZhLXZhci11bmRvLFxuICBcImhhcmQtZHJpdmVcIjogJGZhLXZhci1oYXJkLWRyaXZlLFxuICBcImhkZFwiOiAkZmEtdmFyLWhkZCxcbiAgXCJmYWNlLWdyaW4tc3F1aW50LXRlYXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXNxdWludC10ZWFycyxcbiAgXCJncmluLXNxdWludC10ZWFyc1wiOiAkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzLFxuICBcImR1bWJiZWxsXCI6ICRmYS12YXItZHVtYmJlbGwsXG4gIFwicmVjdGFuZ2xlLWxpc3RcIjogJGZhLXZhci1yZWN0YW5nbGUtbGlzdCxcbiAgXCJsaXN0LWFsdFwiOiAkZmEtdmFyLWxpc3QtYWx0LFxuICBcInRhcnAtZHJvcGxldFwiOiAkZmEtdmFyLXRhcnAtZHJvcGxldCxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1za2lpbmctbm9yZGljXCI6ICRmYS12YXItcGVyc29uLXNraWluZy1ub3JkaWMsXG4gIFwic2tpaW5nLW5vcmRpY1wiOiAkZmEtdmFyLXNraWluZy1ub3JkaWMsXG4gIFwiY2FsZW5kYXItcGx1c1wiOiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMsXG4gIFwicGxhbmUtYXJyaXZhbFwiOiAkZmEtdmFyLXBsYW5lLWFycml2YWwsXG4gIFwiY2lyY2xlLWxlZnRcIjogJGZhLXZhci1jaXJjbGUtbGVmdCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQsXG4gIFwidHJhaW4tc3Vid2F5XCI6ICRmYS12YXItdHJhaW4tc3Vid2F5LFxuICBcInN1YndheVwiOiAkZmEtdmFyLXN1YndheSxcbiAgXCJjaGFydC1nYW50dFwiOiAkZmEtdmFyLWNoYXJ0LWdhbnR0LFxuICBcImluZGlhbi1ydXBlZS1zaWduXCI6ICRmYS12YXItaW5kaWFuLXJ1cGVlLXNpZ24sXG4gIFwiaW5kaWFuLXJ1cGVlXCI6ICRmYS12YXItaW5kaWFuLXJ1cGVlLFxuICBcImluclwiOiAkZmEtdmFyLWlucixcbiAgXCJjcm9wLXNpbXBsZVwiOiAkZmEtdmFyLWNyb3Atc2ltcGxlLFxuICBcImNyb3AtYWx0XCI6ICRmYS12YXItY3JvcC1hbHQsXG4gIFwibW9uZXktYmlsbC0xXCI6ICRmYS12YXItbW9uZXktYmlsbC0xLFxuICBcIm1vbmV5LWJpbGwtYWx0XCI6ICRmYS12YXItbW9uZXktYmlsbC1hbHQsXG4gIFwibGVmdC1sb25nXCI6ICRmYS12YXItbGVmdC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LWxlZnRcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0LFxuICBcImRuYVwiOiAkZmEtdmFyLWRuYSxcbiAgXCJ2aXJ1cy1zbGFzaFwiOiAkZmEtdmFyLXZpcnVzLXNsYXNoLFxuICBcIm1pbnVzXCI6ICRmYS12YXItbWludXMsXG4gIFwic3VidHJhY3RcIjogJGZhLXZhci1zdWJ0cmFjdCxcbiAgXCJjaGVzc1wiOiAkZmEtdmFyLWNoZXNzLFxuICBcImFycm93LWxlZnQtbG9uZ1wiOiAkZmEtdmFyLWFycm93LWxlZnQtbG9uZyxcbiAgXCJsb25nLWFycm93LWxlZnRcIjogJGZhLXZhci1sb25nLWFycm93LWxlZnQsXG4gIFwicGx1Zy1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1jaGVjayxcbiAgXCJzdHJlZXQtdmlld1wiOiAkZmEtdmFyLXN0cmVldC12aWV3LFxuICBcImZyYW5jLXNpZ25cIjogJGZhLXZhci1mcmFuYy1zaWduLFxuICBcInZvbHVtZS1vZmZcIjogJGZhLXZhci12b2x1bWUtb2ZmLFxuICBcImhhbmRzLWFzbC1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1oYW5kcy1hc2wtaW50ZXJwcmV0aW5nLFxuICBcImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcsXG4gIFwiYXNsLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWFzbC1pbnRlcnByZXRpbmcsXG4gIFwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1oYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyxcbiAgXCJnZWFyXCI6ICRmYS12YXItZ2VhcixcbiAgXCJjb2dcIjogJGZhLXZhci1jb2csXG4gIFwiZHJvcGxldC1zbGFzaFwiOiAkZmEtdmFyLWRyb3BsZXQtc2xhc2gsXG4gIFwidGludC1zbGFzaFwiOiAkZmEtdmFyLXRpbnQtc2xhc2gsXG4gIFwibW9zcXVlXCI6ICRmYS12YXItbW9zcXVlLFxuICBcIm1vc3F1aXRvXCI6ICRmYS12YXItbW9zcXVpdG8sXG4gIFwic3Rhci1vZi1kYXZpZFwiOiAkZmEtdmFyLXN0YXItb2YtZGF2aWQsXG4gIFwicGVyc29uLW1pbGl0YXJ5LXJpZmxlXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXJpZmxlLFxuICBcImNhcnQtc2hvcHBpbmdcIjogJGZhLXZhci1jYXJ0LXNob3BwaW5nLFxuICBcInNob3BwaW5nLWNhcnRcIjogJGZhLXZhci1zaG9wcGluZy1jYXJ0LFxuICBcInZpYWxzXCI6ICRmYS12YXItdmlhbHMsXG4gIFwicGx1Zy1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLXBsdXMsXG4gIFwicGxhY2Utb2Ytd29yc2hpcFwiOiAkZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXAsXG4gIFwiZ3JpcC12ZXJ0aWNhbFwiOiAkZmEtdmFyLWdyaXAtdmVydGljYWwsXG4gIFwiYXJyb3ctdHVybi11cFwiOiAkZmEtdmFyLWFycm93LXR1cm4tdXAsXG4gIFwibGV2ZWwtdXBcIjogJGZhLXZhci1sZXZlbC11cCxcbiAgXCJ1XCI6ICRmYS12YXItdSxcbiAgXCJzcXVhcmUtcm9vdC12YXJpYWJsZVwiOiAkZmEtdmFyLXNxdWFyZS1yb290LXZhcmlhYmxlLFxuICBcInNxdWFyZS1yb290LWFsdFwiOiAkZmEtdmFyLXNxdWFyZS1yb290LWFsdCxcbiAgXCJjbG9ja1wiOiAkZmEtdmFyLWNsb2NrLFxuICBcImNsb2NrLWZvdXJcIjogJGZhLXZhci1jbG9jay1mb3VyLFxuICBcImJhY2t3YXJkLXN0ZXBcIjogJGZhLXZhci1iYWNrd2FyZC1zdGVwLFxuICBcInN0ZXAtYmFja3dhcmRcIjogJGZhLXZhci1zdGVwLWJhY2t3YXJkLFxuICBcInBhbGxldFwiOiAkZmEtdmFyLXBhbGxldCxcbiAgXCJmYXVjZXRcIjogJGZhLXZhci1mYXVjZXQsXG4gIFwiYmFzZWJhbGwtYmF0LWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbC1iYXQtYmFsbCxcbiAgXCJzXCI6ICRmYS12YXItcyxcbiAgXCJ0aW1lbGluZVwiOiAkZmEtdmFyLXRpbWVsaW5lLFxuICBcImtleWJvYXJkXCI6ICRmYS12YXIta2V5Ym9hcmQsXG4gIFwiY2FyZXQtZG93blwiOiAkZmEtdmFyLWNhcmV0LWRvd24sXG4gIFwiaG91c2UtY2hpbW5leS1tZWRpY2FsXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS1tZWRpY2FsLFxuICBcImNsaW5pYy1tZWRpY2FsXCI6ICRmYS12YXItY2xpbmljLW1lZGljYWwsXG4gIFwidGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci10ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycyxcbiAgXCJ0ZW1wZXJhdHVyZS0zXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMyxcbiAgXCJ0aGVybW9tZXRlci0zXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMyxcbiAgXCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzLFxuICBcIm1vYmlsZS1zY3JlZW5cIjogJGZhLXZhci1tb2JpbGUtc2NyZWVuLFxuICBcIm1vYmlsZS1hbmRyb2lkLWFsdFwiOiAkZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdCxcbiAgXCJwbGFuZS11cFwiOiAkZmEtdmFyLXBsYW5lLXVwLFxuICBcInBpZ2d5LWJhbmtcIjogJGZhLXZhci1waWdneS1iYW5rLFxuICBcImJhdHRlcnktaGFsZlwiOiAkZmEtdmFyLWJhdHRlcnktaGFsZixcbiAgXCJiYXR0ZXJ5LTNcIjogJGZhLXZhci1iYXR0ZXJ5LTMsXG4gIFwibW91bnRhaW4tY2l0eVwiOiAkZmEtdmFyLW1vdW50YWluLWNpdHksXG4gIFwiY29pbnNcIjogJGZhLXZhci1jb2lucyxcbiAgXCJraGFuZGFcIjogJGZhLXZhci1raGFuZGEsXG4gIFwic2xpZGVyc1wiOiAkZmEtdmFyLXNsaWRlcnMsXG4gIFwic2xpZGVycy1oXCI6ICRmYS12YXItc2xpZGVycy1oLFxuICBcImZvbGRlci10cmVlXCI6ICRmYS12YXItZm9sZGVyLXRyZWUsXG4gIFwibmV0d29yay13aXJlZFwiOiAkZmEtdmFyLW5ldHdvcmstd2lyZWQsXG4gIFwibWFwLXBpblwiOiAkZmEtdmFyLW1hcC1waW4sXG4gIFwiaGFtc2FcIjogJGZhLXZhci1oYW1zYSxcbiAgXCJjZW50LXNpZ25cIjogJGZhLXZhci1jZW50LXNpZ24sXG4gIFwiZmxhc2tcIjogJGZhLXZhci1mbGFzayxcbiAgXCJwZXJzb24tcHJlZ25hbnRcIjogJGZhLXZhci1wZXJzb24tcHJlZ25hbnQsXG4gIFwid2FuZC1zcGFya2xlc1wiOiAkZmEtdmFyLXdhbmQtc3BhcmtsZXMsXG4gIFwiZWxsaXBzaXMtdmVydGljYWxcIjogJGZhLXZhci1lbGxpcHNpcy12ZXJ0aWNhbCxcbiAgXCJlbGxpcHNpcy12XCI6ICRmYS12YXItZWxsaXBzaXMtdixcbiAgXCJ0aWNrZXRcIjogJGZhLXZhci10aWNrZXQsXG4gIFwicG93ZXItb2ZmXCI6ICRmYS12YXItcG93ZXItb2ZmLFxuICBcInJpZ2h0LWxvbmdcIjogJGZhLXZhci1yaWdodC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LXJpZ2h0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQsXG4gIFwiZmxhZy11c2FcIjogJGZhLXZhci1mbGFnLXVzYSxcbiAgXCJsYXB0b3AtZmlsZVwiOiAkZmEtdmFyLWxhcHRvcC1maWxlLFxuICBcInR0eVwiOiAkZmEtdmFyLXR0eSxcbiAgXCJ0ZWxldHlwZVwiOiAkZmEtdmFyLXRlbGV0eXBlLFxuICBcImRpYWdyYW0tbmV4dFwiOiAkZmEtdmFyLWRpYWdyYW0tbmV4dCxcbiAgXCJwZXJzb24tcmlmbGVcIjogJGZhLXZhci1wZXJzb24tcmlmbGUsXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjbG9zZWQtY2FwdGlvbmluZ1wiOiAkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nLFxuICBcInBlcnNvbi1oaWtpbmdcIjogJGZhLXZhci1wZXJzb24taGlraW5nLFxuICBcImhpa2luZ1wiOiAkZmEtdmFyLWhpa2luZyxcbiAgXCJ2ZW51cy1kb3VibGVcIjogJGZhLXZhci12ZW51cy1kb3VibGUsXG4gIFwiaW1hZ2VzXCI6ICRmYS12YXItaW1hZ2VzLFxuICBcImNhbGN1bGF0b3JcIjogJGZhLXZhci1jYWxjdWxhdG9yLFxuICBcInBlb3BsZS1wdWxsaW5nXCI6ICRmYS12YXItcGVvcGxlLXB1bGxpbmcsXG4gIFwiblwiOiAkZmEtdmFyLW4sXG4gIFwiY2FibGUtY2FyXCI6ICRmYS12YXItY2FibGUtY2FyLFxuICBcInRyYW1cIjogJGZhLXZhci10cmFtLFxuICBcImNsb3VkLXJhaW5cIjogJGZhLXZhci1jbG91ZC1yYWluLFxuICBcImJ1aWxkaW5nLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS14bWFyayxcbiAgXCJzaGlwXCI6ICRmYS12YXItc2hpcCxcbiAgXCJhcnJvd3MtZG93bi10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLWRvd24tdG8tbGluZSxcbiAgXCJkb3dubG9hZFwiOiAkZmEtdmFyLWRvd25sb2FkLFxuICBcImZhY2UtZ3JpblwiOiAkZmEtdmFyLWZhY2UtZ3JpbixcbiAgXCJncmluXCI6ICRmYS12YXItZ3JpbixcbiAgXCJkZWxldGUtbGVmdFwiOiAkZmEtdmFyLWRlbGV0ZS1sZWZ0LFxuICBcImJhY2tzcGFjZVwiOiAkZmEtdmFyLWJhY2tzcGFjZSxcbiAgXCJleWUtZHJvcHBlclwiOiAkZmEtdmFyLWV5ZS1kcm9wcGVyLFxuICBcImV5ZS1kcm9wcGVyLWVtcHR5XCI6ICRmYS12YXItZXllLWRyb3BwZXItZW1wdHksXG4gIFwiZXllZHJvcHBlclwiOiAkZmEtdmFyLWV5ZWRyb3BwZXIsXG4gIFwiZmlsZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1maWxlLWNpcmNsZS1jaGVjayxcbiAgXCJmb3J3YXJkXCI6ICRmYS12YXItZm9yd2FyZCxcbiAgXCJtb2JpbGVcIjogJGZhLXZhci1tb2JpbGUsXG4gIFwibW9iaWxlLWFuZHJvaWRcIjogJGZhLXZhci1tb2JpbGUtYW5kcm9pZCxcbiAgXCJtb2JpbGUtcGhvbmVcIjogJGZhLXZhci1tb2JpbGUtcGhvbmUsXG4gIFwiZmFjZS1tZWhcIjogJGZhLXZhci1mYWNlLW1laCxcbiAgXCJtZWhcIjogJGZhLXZhci1tZWgsXG4gIFwiYWxpZ24tY2VudGVyXCI6ICRmYS12YXItYWxpZ24tY2VudGVyLFxuICBcImJvb2stc2t1bGxcIjogJGZhLXZhci1ib29rLXNrdWxsLFxuICBcImJvb2stZGVhZFwiOiAkZmEtdmFyLWJvb2stZGVhZCxcbiAgXCJpZC1jYXJkXCI6ICRmYS12YXItaWQtY2FyZCxcbiAgXCJkcml2ZXJzLWxpY2Vuc2VcIjogJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2UsXG4gIFwib3V0ZGVudFwiOiAkZmEtdmFyLW91dGRlbnQsXG4gIFwiZGVkZW50XCI6ICRmYS12YXItZGVkZW50LFxuICBcImhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJob3VzZVwiOiAkZmEtdmFyLWhvdXNlLFxuICBcImhvbWVcIjogJGZhLXZhci1ob21lLFxuICBcImhvbWUtYWx0XCI6ICRmYS12YXItaG9tZS1hbHQsXG4gIFwiaG9tZS1sZy1hbHRcIjogJGZhLXZhci1ob21lLWxnLWFsdCxcbiAgXCJjYWxlbmRhci13ZWVrXCI6ICRmYS12YXItY2FsZW5kYXItd2VlayxcbiAgXCJsYXB0b3AtbWVkaWNhbFwiOiAkZmEtdmFyLWxhcHRvcC1tZWRpY2FsLFxuICBcImJcIjogJGZhLXZhci1iLFxuICBcImZpbGUtbWVkaWNhbFwiOiAkZmEtdmFyLWZpbGUtbWVkaWNhbCxcbiAgXCJkaWNlLW9uZVwiOiAkZmEtdmFyLWRpY2Utb25lLFxuICBcImtpd2ktYmlyZFwiOiAkZmEtdmFyLWtpd2ktYmlyZCxcbiAgXCJhcnJvdy1yaWdodC1hcnJvdy1sZWZ0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCxcbiAgXCJleGNoYW5nZVwiOiAkZmEtdmFyLWV4Y2hhbmdlLFxuICBcInJvdGF0ZS1yaWdodFwiOiAkZmEtdmFyLXJvdGF0ZS1yaWdodCxcbiAgXCJyZWRvLWFsdFwiOiAkZmEtdmFyLXJlZG8tYWx0LFxuICBcInJvdGF0ZS1mb3J3YXJkXCI6ICRmYS12YXItcm90YXRlLWZvcndhcmQsXG4gIFwidXRlbnNpbHNcIjogJGZhLXZhci11dGVuc2lscyxcbiAgXCJjdXRsZXJ5XCI6ICRmYS12YXItY3V0bGVyeSxcbiAgXCJhcnJvdy11cC13aWRlLXNob3J0XCI6ICRmYS12YXItYXJyb3ctdXAtd2lkZS1zaG9ydCxcbiAgXCJzb3J0LWFtb3VudC11cFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LXVwLFxuICBcIm1pbGwtc2lnblwiOiAkZmEtdmFyLW1pbGwtc2lnbixcbiAgXCJib3dsLXJpY2VcIjogJGZhLXZhci1ib3dsLXJpY2UsXG4gIFwic2t1bGxcIjogJGZhLXZhci1za3VsbCxcbiAgXCJ0b3dlci1icm9hZGNhc3RcIjogJGZhLXZhci10b3dlci1icm9hZGNhc3QsXG4gIFwiYnJvYWRjYXN0LXRvd2VyXCI6ICRmYS12YXItYnJvYWRjYXN0LXRvd2VyLFxuICBcInRydWNrLXBpY2t1cFwiOiAkZmEtdmFyLXRydWNrLXBpY2t1cCxcbiAgXCJ1cC1sb25nXCI6ICRmYS12YXItdXAtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC11cFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwLFxuICBcInN0b3BcIjogJGZhLXZhci1zdG9wLFxuICBcImNvZGUtbWVyZ2VcIjogJGZhLXZhci1jb2RlLW1lcmdlLFxuICBcInVwbG9hZFwiOiAkZmEtdmFyLXVwbG9hZCxcbiAgXCJodXJyaWNhbmVcIjogJGZhLXZhci1odXJyaWNhbmUsXG4gIFwibW91bmRcIjogJGZhLXZhci1tb3VuZCxcbiAgXCJ0b2lsZXQtcG9ydGFibGVcIjogJGZhLXZhci10b2lsZXQtcG9ydGFibGUsXG4gIFwiY29tcGFjdC1kaXNjXCI6ICRmYS12YXItY29tcGFjdC1kaXNjLFxuICBcImZpbGUtYXJyb3ctZG93blwiOiAkZmEtdmFyLWZpbGUtYXJyb3ctZG93bixcbiAgXCJmaWxlLWRvd25sb2FkXCI6ICRmYS12YXItZmlsZS1kb3dubG9hZCxcbiAgXCJjYXJhdmFuXCI6ICRmYS12YXItY2FyYXZhbixcbiAgXCJzaGllbGQtY2F0XCI6ICRmYS12YXItc2hpZWxkLWNhdCxcbiAgXCJib2x0XCI6ICRmYS12YXItYm9sdCxcbiAgXCJ6YXBcIjogJGZhLXZhci16YXAsXG4gIFwiZ2xhc3Mtd2F0ZXJcIjogJGZhLXZhci1nbGFzcy13YXRlcixcbiAgXCJvaWwtd2VsbFwiOiAkZmEtdmFyLW9pbC13ZWxsLFxuICBcInZhdWx0XCI6ICRmYS12YXItdmF1bHQsXG4gIFwibWFyc1wiOiAkZmEtdmFyLW1hcnMsXG4gIFwidG9pbGV0XCI6ICRmYS12YXItdG9pbGV0LFxuICBcInBsYW5lLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS14bWFyayxcbiAgXCJ5ZW4tc2lnblwiOiAkZmEtdmFyLXllbi1zaWduLFxuICBcImNueVwiOiAkZmEtdmFyLWNueSxcbiAgXCJqcHlcIjogJGZhLXZhci1qcHksXG4gIFwicm1iXCI6ICRmYS12YXItcm1iLFxuICBcInllblwiOiAkZmEtdmFyLXllbixcbiAgXCJydWJsZS1zaWduXCI6ICRmYS12YXItcnVibGUtc2lnbixcbiAgXCJyb3VibGVcIjogJGZhLXZhci1yb3VibGUsXG4gIFwicnViXCI6ICRmYS12YXItcnViLFxuICBcInJ1YmxlXCI6ICRmYS12YXItcnVibGUsXG4gIFwic3VuXCI6ICRmYS12YXItc3VuLFxuICBcImd1aXRhclwiOiAkZmEtdmFyLWd1aXRhcixcbiAgXCJmYWNlLWxhdWdoLXdpbmtcIjogJGZhLXZhci1mYWNlLWxhdWdoLXdpbmssXG4gIFwibGF1Z2gtd2lua1wiOiAkZmEtdmFyLWxhdWdoLXdpbmssXG4gIFwiaG9yc2UtaGVhZFwiOiAkZmEtdmFyLWhvcnNlLWhlYWQsXG4gIFwiYm9yZS1ob2xlXCI6ICRmYS12YXItYm9yZS1ob2xlLFxuICBcImluZHVzdHJ5XCI6ICRmYS12YXItaW5kdXN0cnksXG4gIFwiY2lyY2xlLWRvd25cIjogJGZhLXZhci1jaXJjbGUtZG93bixcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLWRvd25cIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24sXG4gIFwiYXJyb3dzLXR1cm4tdG8tZG90c1wiOiAkZmEtdmFyLWFycm93cy10dXJuLXRvLWRvdHMsXG4gIFwiZmxvcmluLXNpZ25cIjogJGZhLXZhci1mbG9yaW4tc2lnbixcbiAgXCJhcnJvdy1kb3duLXNob3J0LXdpZGVcIjogJGZhLXZhci1hcnJvdy1kb3duLXNob3J0LXdpZGUsXG4gIFwic29ydC1hbW91bnQtZGVzY1wiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRlc2MsXG4gIFwic29ydC1hbW91bnQtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdCxcbiAgXCJsZXNzLXRoYW5cIjogJGZhLXZhci1sZXNzLXRoYW4sXG4gIFwiYW5nbGUtZG93blwiOiAkZmEtdmFyLWFuZ2xlLWRvd24sXG4gIFwiY2FyLXR1bm5lbFwiOiAkZmEtdmFyLWNhci10dW5uZWwsXG4gIFwiaGVhZC1zaWRlLWNvdWdoXCI6ICRmYS12YXItaGVhZC1zaWRlLWNvdWdoLFxuICBcImdyaXAtbGluZXNcIjogJGZhLXZhci1ncmlwLWxpbmVzLFxuICBcInRodW1icy1kb3duXCI6ICRmYS12YXItdGh1bWJzLWRvd24sXG4gIFwidXNlci1sb2NrXCI6ICRmYS12YXItdXNlci1sb2NrLFxuICBcImFycm93LXJpZ2h0LWxvbmdcIjogJGZhLXZhci1hcnJvdy1yaWdodC1sb25nLFxuICBcImxvbmctYXJyb3ctcmlnaHRcIjogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0LFxuICBcImFuY2hvci1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLXhtYXJrLFxuICBcImVsbGlwc2lzXCI6ICRmYS12YXItZWxsaXBzaXMsXG4gIFwiZWxsaXBzaXMtaFwiOiAkZmEtdmFyLWVsbGlwc2lzLWgsXG4gIFwiY2hlc3MtcGF3blwiOiAkZmEtdmFyLWNoZXNzLXBhd24sXG4gIFwia2l0LW1lZGljYWxcIjogJGZhLXZhci1raXQtbWVkaWNhbCxcbiAgXCJmaXJzdC1haWRcIjogJGZhLXZhci1maXJzdC1haWQsXG4gIFwicGVyc29uLXRocm91Z2gtd2luZG93XCI6ICRmYS12YXItcGVyc29uLXRocm91Z2gtd2luZG93LFxuICBcInRvb2xib3hcIjogJGZhLXZhci10b29sYm94LFxuICBcImhhbmRzLWhvbGRpbmctY2lyY2xlXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZy1jaXJjbGUsXG4gIFwiYnVnXCI6ICRmYS12YXItYnVnLFxuICBcImNyZWRpdC1jYXJkXCI6ICRmYS12YXItY3JlZGl0LWNhcmQsXG4gIFwiY3JlZGl0LWNhcmQtYWx0XCI6ICRmYS12YXItY3JlZGl0LWNhcmQtYWx0LFxuICBcImNhclwiOiAkZmEtdmFyLWNhcixcbiAgXCJhdXRvbW9iaWxlXCI6ICRmYS12YXItYXV0b21vYmlsZSxcbiAgXCJoYW5kLWhvbGRpbmctaGFuZFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1oYW5kLFxuICBcImJvb2stb3Blbi1yZWFkZXJcIjogJGZhLXZhci1ib29rLW9wZW4tcmVhZGVyLFxuICBcImJvb2stcmVhZGVyXCI6ICRmYS12YXItYm9vay1yZWFkZXIsXG4gIFwibW91bnRhaW4tc3VuXCI6ICRmYS12YXItbW91bnRhaW4tc3VuLFxuICBcImFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodC10by1saW5lLFxuICBcImRpY2UtZDIwXCI6ICRmYS12YXItZGljZS1kMjAsXG4gIFwidHJ1Y2stZHJvcGxldFwiOiAkZmEtdmFyLXRydWNrLWRyb3BsZXQsXG4gIFwiZmlsZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1maWxlLWNpcmNsZS14bWFyayxcbiAgXCJ0ZW1wZXJhdHVyZS1hcnJvdy11cFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LXVwLFxuICBcInRlbXBlcmF0dXJlLXVwXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtdXAsXG4gIFwibWVkYWxcIjogJGZhLXZhci1tZWRhbCxcbiAgXCJiZWRcIjogJGZhLXZhci1iZWQsXG4gIFwic3F1YXJlLWhcIjogJGZhLXZhci1zcXVhcmUtaCxcbiAgXCJoLXNxdWFyZVwiOiAkZmEtdmFyLWgtc3F1YXJlLFxuICBcInBvZGNhc3RcIjogJGZhLXZhci1wb2RjYXN0LFxuICBcInRlbXBlcmF0dXJlLWZ1bGxcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1mdWxsLFxuICBcInRlbXBlcmF0dXJlLTRcIjogJGZhLXZhci10ZW1wZXJhdHVyZS00LFxuICBcInRoZXJtb21ldGVyLTRcIjogJGZhLXZhci10aGVybW9tZXRlci00LFxuICBcInRoZXJtb21ldGVyLWZ1bGxcIjogJGZhLXZhci10aGVybW9tZXRlci1mdWxsLFxuICBcImJlbGxcIjogJGZhLXZhci1iZWxsLFxuICBcInN1cGVyc2NyaXB0XCI6ICRmYS12YXItc3VwZXJzY3JpcHQsXG4gIFwicGx1Zy1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wbHVnLWNpcmNsZS14bWFyayxcbiAgXCJzdGFyLW9mLWxpZmVcIjogJGZhLXZhci1zdGFyLW9mLWxpZmUsXG4gIFwicGhvbmUtc2xhc2hcIjogJGZhLXZhci1waG9uZS1zbGFzaCxcbiAgXCJwYWludC1yb2xsZXJcIjogJGZhLXZhci1wYWludC1yb2xsZXIsXG4gIFwiaGFuZHNoYWtlLWFuZ2xlXCI6ICRmYS12YXItaGFuZHNoYWtlLWFuZ2xlLFxuICBcImhhbmRzLWhlbHBpbmdcIjogJGZhLXZhci1oYW5kcy1oZWxwaW5nLFxuICBcImxvY2F0aW9uLWRvdFwiOiAkZmEtdmFyLWxvY2F0aW9uLWRvdCxcbiAgXCJtYXAtbWFya2VyLWFsdFwiOiAkZmEtdmFyLW1hcC1tYXJrZXItYWx0LFxuICBcImZpbGVcIjogJGZhLXZhci1maWxlLFxuICBcImdyZWF0ZXItdGhhblwiOiAkZmEtdmFyLWdyZWF0ZXItdGhhbixcbiAgXCJwZXJzb24tc3dpbW1pbmdcIjogJGZhLXZhci1wZXJzb24tc3dpbW1pbmcsXG4gIFwic3dpbW1lclwiOiAkZmEtdmFyLXN3aW1tZXIsXG4gIFwiYXJyb3ctZG93blwiOiAkZmEtdmFyLWFycm93LWRvd24sXG4gIFwiZHJvcGxldFwiOiAkZmEtdmFyLWRyb3BsZXQsXG4gIFwidGludFwiOiAkZmEtdmFyLXRpbnQsXG4gIFwiZXJhc2VyXCI6ICRmYS12YXItZXJhc2VyLFxuICBcImVhcnRoLWFtZXJpY2FzXCI6ICRmYS12YXItZWFydGgtYW1lcmljYXMsXG4gIFwiZWFydGhcIjogJGZhLXZhci1lYXJ0aCxcbiAgXCJlYXJ0aC1hbWVyaWNhXCI6ICRmYS12YXItZWFydGgtYW1lcmljYSxcbiAgXCJnbG9iZS1hbWVyaWNhc1wiOiAkZmEtdmFyLWdsb2JlLWFtZXJpY2FzLFxuICBcInBlcnNvbi1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1idXJzdCxcbiAgXCJkb3ZlXCI6ICRmYS12YXItZG92ZSxcbiAgXCJiYXR0ZXJ5LWVtcHR5XCI6ICRmYS12YXItYmF0dGVyeS1lbXB0eSxcbiAgXCJiYXR0ZXJ5LTBcIjogJGZhLXZhci1iYXR0ZXJ5LTAsXG4gIFwic29ja3NcIjogJGZhLXZhci1zb2NrcyxcbiAgXCJpbmJveFwiOiAkZmEtdmFyLWluYm94LFxuICBcInNlY3Rpb25cIjogJGZhLXZhci1zZWN0aW9uLFxuICBcImdhdWdlLWhpZ2hcIjogJGZhLXZhci1nYXVnZS1oaWdoLFxuICBcInRhY2hvbWV0ZXItYWx0XCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQsXG4gIFwidGFjaG9tZXRlci1hbHQtZmFzdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3QsXG4gIFwiZW52ZWxvcGUtb3Blbi10ZXh0XCI6ICRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0LFxuICBcImhvc3BpdGFsXCI6ICRmYS12YXItaG9zcGl0YWwsXG4gIFwiaG9zcGl0YWwtYWx0XCI6ICRmYS12YXItaG9zcGl0YWwtYWx0LFxuICBcImhvc3BpdGFsLXdpZGVcIjogJGZhLXZhci1ob3NwaXRhbC13aWRlLFxuICBcIndpbmUtYm90dGxlXCI6ICRmYS12YXItd2luZS1ib3R0bGUsXG4gIFwiY2hlc3Mtcm9va1wiOiAkZmEtdmFyLWNoZXNzLXJvb2ssXG4gIFwiYmFycy1zdGFnZ2VyZWRcIjogJGZhLXZhci1iYXJzLXN0YWdnZXJlZCxcbiAgXCJyZW9yZGVyXCI6ICRmYS12YXItcmVvcmRlcixcbiAgXCJzdHJlYW1cIjogJGZhLXZhci1zdHJlYW0sXG4gIFwiZGhhcm1hY2hha3JhXCI6ICRmYS12YXItZGhhcm1hY2hha3JhLFxuICBcImhvdGRvZ1wiOiAkZmEtdmFyLWhvdGRvZyxcbiAgXCJwZXJzb24td2Fsa2luZy13aXRoLWNhbmVcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy13aXRoLWNhbmUsXG4gIFwiYmxpbmRcIjogJGZhLXZhci1ibGluZCxcbiAgXCJkcnVtXCI6ICRmYS12YXItZHJ1bSxcbiAgXCJpY2UtY3JlYW1cIjogJGZhLXZhci1pY2UtY3JlYW0sXG4gIFwiaGVhcnQtY2lyY2xlLWJvbHRcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtYm9sdCxcbiAgXCJmYXhcIjogJGZhLXZhci1mYXgsXG4gIFwicGFyYWdyYXBoXCI6ICRmYS12YXItcGFyYWdyYXBoLFxuICBcImNoZWNrLXRvLXNsb3RcIjogJGZhLXZhci1jaGVjay10by1zbG90LFxuICBcInZvdGUteWVhXCI6ICRmYS12YXItdm90ZS15ZWEsXG4gIFwic3Rhci1oYWxmXCI6ICRmYS12YXItc3Rhci1oYWxmLFxuICBcImJveGVzLXN0YWNrZWRcIjogJGZhLXZhci1ib3hlcy1zdGFja2VkLFxuICBcImJveGVzXCI6ICRmYS12YXItYm94ZXMsXG4gIFwiYm94ZXMtYWx0XCI6ICRmYS12YXItYm94ZXMtYWx0LFxuICBcImxpbmtcIjogJGZhLXZhci1saW5rLFxuICBcImNoYWluXCI6ICRmYS12YXItY2hhaW4sXG4gIFwiZWFyLWxpc3RlblwiOiAkZmEtdmFyLWVhci1saXN0ZW4sXG4gIFwiYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zXCI6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zLFxuICBcInRyZWUtY2l0eVwiOiAkZmEtdmFyLXRyZWUtY2l0eSxcbiAgXCJwbGF5XCI6ICRmYS12YXItcGxheSxcbiAgXCJmb250XCI6ICRmYS12YXItZm9udCxcbiAgXCJydXBpYWgtc2lnblwiOiAkZmEtdmFyLXJ1cGlhaC1zaWduLFxuICBcIm1hZ25pZnlpbmctZ2xhc3NcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLFxuICBcInNlYXJjaFwiOiAkZmEtdmFyLXNlYXJjaCxcbiAgXCJ0YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGxcIjogJGZhLXZhci10YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGwsXG4gIFwicGluZy1wb25nLXBhZGRsZS1iYWxsXCI6ICRmYS12YXItcGluZy1wb25nLXBhZGRsZS1iYWxsLFxuICBcInRhYmxlLXRlbm5pc1wiOiAkZmEtdmFyLXRhYmxlLXRlbm5pcyxcbiAgXCJwZXJzb24tZG90cy1mcm9tLWxpbmVcIjogJGZhLXZhci1wZXJzb24tZG90cy1mcm9tLWxpbmUsXG4gIFwiZGlhZ25vc2VzXCI6ICRmYS12YXItZGlhZ25vc2VzLFxuICBcInRyYXNoLWNhbi1hcnJvdy11cFwiOiAkZmEtdmFyLXRyYXNoLWNhbi1hcnJvdy11cCxcbiAgXCJ0cmFzaC1yZXN0b3JlLWFsdFwiOiAkZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0LFxuICBcIm5haXJhLXNpZ25cIjogJGZhLXZhci1uYWlyYS1zaWduLFxuICBcImNhcnQtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bixcbiAgXCJ3YWxraWUtdGFsa2llXCI6ICRmYS12YXItd2Fsa2llLXRhbGtpZSxcbiAgXCJmaWxlLXBlblwiOiAkZmEtdmFyLWZpbGUtcGVuLFxuICBcImZpbGUtZWRpdFwiOiAkZmEtdmFyLWZpbGUtZWRpdCxcbiAgXCJyZWNlaXB0XCI6ICRmYS12YXItcmVjZWlwdCxcbiAgXCJzcXVhcmUtcGVuXCI6ICRmYS12YXItc3F1YXJlLXBlbixcbiAgXCJwZW4tc3F1YXJlXCI6ICRmYS12YXItcGVuLXNxdWFyZSxcbiAgXCJwZW5jaWwtc3F1YXJlXCI6ICRmYS12YXItcGVuY2lsLXNxdWFyZSxcbiAgXCJzdWl0Y2FzZS1yb2xsaW5nXCI6ICRmYS12YXItc3VpdGNhc2Utcm9sbGluZyxcbiAgXCJwZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjaGV2cm9uLWRvd25cIjogJGZhLXZhci1jaGV2cm9uLWRvd24sXG4gIFwiYmF0dGVyeS1mdWxsXCI6ICRmYS12YXItYmF0dGVyeS1mdWxsLFxuICBcImJhdHRlcnlcIjogJGZhLXZhci1iYXR0ZXJ5LFxuICBcImJhdHRlcnktNVwiOiAkZmEtdmFyLWJhdHRlcnktNSxcbiAgXCJza3VsbC1jcm9zc2JvbmVzXCI6ICRmYS12YXItc2t1bGwtY3Jvc3Nib25lcyxcbiAgXCJjb2RlLWNvbXBhcmVcIjogJGZhLXZhci1jb2RlLWNvbXBhcmUsXG4gIFwibGlzdC11bFwiOiAkZmEtdmFyLWxpc3QtdWwsXG4gIFwibGlzdC1kb3RzXCI6ICRmYS12YXItbGlzdC1kb3RzLFxuICBcInNjaG9vbC1sb2NrXCI6ICRmYS12YXItc2Nob29sLWxvY2ssXG4gIFwidG93ZXItY2VsbFwiOiAkZmEtdmFyLXRvd2VyLWNlbGwsXG4gIFwiZG93bi1sb25nXCI6ICRmYS12YXItZG93bi1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LWRvd25cIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duLFxuICBcInJhbmtpbmctc3RhclwiOiAkZmEtdmFyLXJhbmtpbmctc3RhcixcbiAgXCJjaGVzcy1raW5nXCI6ICRmYS12YXItY2hlc3Mta2luZyxcbiAgXCJwZXJzb24taGFyYXNzaW5nXCI6ICRmYS12YXItcGVyc29uLWhhcmFzc2luZyxcbiAgXCJicmF6aWxpYW4tcmVhbC1zaWduXCI6ICRmYS12YXItYnJhemlsaWFuLXJlYWwtc2lnbixcbiAgXCJsYW5kbWFyay1kb21lXCI6ICRmYS12YXItbGFuZG1hcmstZG9tZSxcbiAgXCJsYW5kbWFyay1hbHRcIjogJGZhLXZhci1sYW5kbWFyay1hbHQsXG4gIFwiYXJyb3ctdXBcIjogJGZhLXZhci1hcnJvdy11cCxcbiAgXCJ0dlwiOiAkZmEtdmFyLXR2LFxuICBcInRlbGV2aXNpb25cIjogJGZhLXZhci10ZWxldmlzaW9uLFxuICBcInR2LWFsdFwiOiAkZmEtdmFyLXR2LWFsdCxcbiAgXCJzaHJpbXBcIjogJGZhLXZhci1zaHJpbXAsXG4gIFwibGlzdC1jaGVja1wiOiAkZmEtdmFyLWxpc3QtY2hlY2ssXG4gIFwidGFza3NcIjogJGZhLXZhci10YXNrcyxcbiAgXCJqdWctZGV0ZXJnZW50XCI6ICRmYS12YXItanVnLWRldGVyZ2VudCxcbiAgXCJjaXJjbGUtdXNlclwiOiAkZmEtdmFyLWNpcmNsZS11c2VyLFxuICBcInVzZXItY2lyY2xlXCI6ICRmYS12YXItdXNlci1jaXJjbGUsXG4gIFwidXNlci1zaGllbGRcIjogJGZhLXZhci11c2VyLXNoaWVsZCxcbiAgXCJ3aW5kXCI6ICRmYS12YXItd2luZCxcbiAgXCJjYXItYnVyc3RcIjogJGZhLXZhci1jYXItYnVyc3QsXG4gIFwiY2FyLWNyYXNoXCI6ICRmYS12YXItY2FyLWNyYXNoLFxuICBcInlcIjogJGZhLXZhci15LFxuICBcInBlcnNvbi1zbm93Ym9hcmRpbmdcIjogJGZhLXZhci1wZXJzb24tc25vd2JvYXJkaW5nLFxuICBcInNub3dib2FyZGluZ1wiOiAkZmEtdmFyLXNub3dib2FyZGluZyxcbiAgXCJ0cnVjay1mYXN0XCI6ICRmYS12YXItdHJ1Y2stZmFzdCxcbiAgXCJzaGlwcGluZy1mYXN0XCI6ICRmYS12YXItc2hpcHBpbmctZmFzdCxcbiAgXCJmaXNoXCI6ICRmYS12YXItZmlzaCxcbiAgXCJ1c2VyLWdyYWR1YXRlXCI6ICRmYS12YXItdXNlci1ncmFkdWF0ZSxcbiAgXCJjaXJjbGUtaGFsZi1zdHJva2VcIjogJGZhLXZhci1jaXJjbGUtaGFsZi1zdHJva2UsXG4gIFwiYWRqdXN0XCI6ICRmYS12YXItYWRqdXN0LFxuICBcImNsYXBwZXJib2FyZFwiOiAkZmEtdmFyLWNsYXBwZXJib2FyZCxcbiAgXCJjaXJjbGUtcmFkaWF0aW9uXCI6ICRmYS12YXItY2lyY2xlLXJhZGlhdGlvbixcbiAgXCJyYWRpYXRpb24tYWx0XCI6ICRmYS12YXItcmFkaWF0aW9uLWFsdCxcbiAgXCJiYXNlYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLFxuICBcImJhc2ViYWxsLWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbC1iYWxsLFxuICBcImpldC1maWdodGVyLXVwXCI6ICRmYS12YXItamV0LWZpZ2h0ZXItdXAsXG4gIFwiZGlhZ3JhbS1wcm9qZWN0XCI6ICRmYS12YXItZGlhZ3JhbS1wcm9qZWN0LFxuICBcInByb2plY3QtZGlhZ3JhbVwiOiAkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSxcbiAgXCJjb3B5XCI6ICRmYS12YXItY29weSxcbiAgXCJ2b2x1bWUteG1hcmtcIjogJGZhLXZhci12b2x1bWUteG1hcmssXG4gIFwidm9sdW1lLW11dGVcIjogJGZhLXZhci12b2x1bWUtbXV0ZSxcbiAgXCJ2b2x1bWUtdGltZXNcIjogJGZhLXZhci12b2x1bWUtdGltZXMsXG4gIFwiaGFuZC1zcGFya2xlc1wiOiAkZmEtdmFyLWhhbmQtc3BhcmtsZXMsXG4gIFwiZ3JpcFwiOiAkZmEtdmFyLWdyaXAsXG4gIFwiZ3JpcC1ob3Jpem9udGFsXCI6ICRmYS12YXItZ3JpcC1ob3Jpem9udGFsLFxuICBcInNoYXJlLWZyb20tc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtZnJvbS1zcXVhcmUsXG4gIFwic2hhcmUtc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtc3F1YXJlLFxuICBcImNoaWxkLWNvbWJhdGFudFwiOiAkZmEtdmFyLWNoaWxkLWNvbWJhdGFudCxcbiAgXCJjaGlsZC1yaWZsZVwiOiAkZmEtdmFyLWNoaWxkLXJpZmxlLFxuICBcImd1blwiOiAkZmEtdmFyLWd1bixcbiAgXCJzcXVhcmUtcGhvbmVcIjogJGZhLXZhci1zcXVhcmUtcGhvbmUsXG4gIFwicGhvbmUtc3F1YXJlXCI6ICRmYS12YXItcGhvbmUtc3F1YXJlLFxuICBcInBsdXNcIjogJGZhLXZhci1wbHVzLFxuICBcImFkZFwiOiAkZmEtdmFyLWFkZCxcbiAgXCJleHBhbmRcIjogJGZhLXZhci1leHBhbmQsXG4gIFwiY29tcHV0ZXJcIjogJGZhLXZhci1jb21wdXRlcixcbiAgXCJ4bWFya1wiOiAkZmEtdmFyLXhtYXJrLFxuICBcImNsb3NlXCI6ICRmYS12YXItY2xvc2UsXG4gIFwibXVsdGlwbHlcIjogJGZhLXZhci1tdWx0aXBseSxcbiAgXCJyZW1vdmVcIjogJGZhLXZhci1yZW1vdmUsXG4gIFwidGltZXNcIjogJGZhLXZhci10aW1lcyxcbiAgXCJhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodCxcbiAgXCJhcnJvd3NcIjogJGZhLXZhci1hcnJvd3MsXG4gIFwiY2hhbGtib2FyZC11c2VyXCI6ICRmYS12YXItY2hhbGtib2FyZC11c2VyLFxuICBcImNoYWxrYm9hcmQtdGVhY2hlclwiOiAkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcixcbiAgXCJwZXNvLXNpZ25cIjogJGZhLXZhci1wZXNvLXNpZ24sXG4gIFwiYnVpbGRpbmctc2hpZWxkXCI6ICRmYS12YXItYnVpbGRpbmctc2hpZWxkLFxuICBcImJhYnlcIjogJGZhLXZhci1iYWJ5LFxuICBcInVzZXJzLWxpbmVcIjogJGZhLXZhci11c2Vycy1saW5lLFxuICBcInF1b3RlLWxlZnRcIjogJGZhLXZhci1xdW90ZS1sZWZ0LFxuICBcInF1b3RlLWxlZnQtYWx0XCI6ICRmYS12YXItcXVvdGUtbGVmdC1hbHQsXG4gIFwidHJhY3RvclwiOiAkZmEtdmFyLXRyYWN0b3IsXG4gIFwidHJhc2gtYXJyb3ctdXBcIjogJGZhLXZhci10cmFzaC1hcnJvdy11cCxcbiAgXCJ0cmFzaC1yZXN0b3JlXCI6ICRmYS12YXItdHJhc2gtcmVzdG9yZSxcbiAgXCJhcnJvdy1kb3duLXVwLWxvY2tcIjogJGZhLXZhci1hcnJvdy1kb3duLXVwLWxvY2ssXG4gIFwibGluZXMtbGVhbmluZ1wiOiAkZmEtdmFyLWxpbmVzLWxlYW5pbmcsXG4gIFwicnVsZXItY29tYmluZWRcIjogJGZhLXZhci1ydWxlci1jb21iaW5lZCxcbiAgXCJjb3B5cmlnaHRcIjogJGZhLXZhci1jb3B5cmlnaHQsXG4gIFwiZXF1YWxzXCI6ICRmYS12YXItZXF1YWxzLFxuICBcImJsZW5kZXJcIjogJGZhLXZhci1ibGVuZGVyLFxuICBcInRlZXRoXCI6ICRmYS12YXItdGVldGgsXG4gIFwic2hla2VsLXNpZ25cIjogJGZhLXZhci1zaGVrZWwtc2lnbixcbiAgXCJpbHNcIjogJGZhLXZhci1pbHMsXG4gIFwic2hla2VsXCI6ICRmYS12YXItc2hla2VsLFxuICBcInNoZXFlbFwiOiAkZmEtdmFyLXNoZXFlbCxcbiAgXCJzaGVxZWwtc2lnblwiOiAkZmEtdmFyLXNoZXFlbC1zaWduLFxuICBcIm1hcFwiOiAkZmEtdmFyLW1hcCxcbiAgXCJyb2NrZXRcIjogJGZhLXZhci1yb2NrZXQsXG4gIFwicGhvdG8tZmlsbVwiOiAkZmEtdmFyLXBob3RvLWZpbG0sXG4gIFwicGhvdG8tdmlkZW9cIjogJGZhLXZhci1waG90by12aWRlbyxcbiAgXCJmb2xkZXItbWludXNcIjogJGZhLXZhci1mb2xkZXItbWludXMsXG4gIFwic3RvcmVcIjogJGZhLXZhci1zdG9yZSxcbiAgXCJhcnJvdy10cmVuZC11cFwiOiAkZmEtdmFyLWFycm93LXRyZW5kLXVwLFxuICBcInBsdWctY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtbWludXMsXG4gIFwic2lnbi1oYW5naW5nXCI6ICRmYS12YXItc2lnbi1oYW5naW5nLFxuICBcInNpZ25cIjogJGZhLXZhci1zaWduLFxuICBcImJlemllci1jdXJ2ZVwiOiAkZmEtdmFyLWJlemllci1jdXJ2ZSxcbiAgXCJiZWxsLXNsYXNoXCI6ICRmYS12YXItYmVsbC1zbGFzaCxcbiAgXCJ0YWJsZXRcIjogJGZhLXZhci10YWJsZXQsXG4gIFwidGFibGV0LWFuZHJvaWRcIjogJGZhLXZhci10YWJsZXQtYW5kcm9pZCxcbiAgXCJzY2hvb2wtZmxhZ1wiOiAkZmEtdmFyLXNjaG9vbC1mbGFnLFxuICBcImZpbGxcIjogJGZhLXZhci1maWxsLFxuICBcImFuZ2xlLXVwXCI6ICRmYS12YXItYW5nbGUtdXAsXG4gIFwiZHJ1bXN0aWNrLWJpdGVcIjogJGZhLXZhci1kcnVtc3RpY2stYml0ZSxcbiAgXCJob2xseS1iZXJyeVwiOiAkZmEtdmFyLWhvbGx5LWJlcnJ5LFxuICBcImNoZXZyb24tbGVmdFwiOiAkZmEtdmFyLWNoZXZyb24tbGVmdCxcbiAgXCJiYWN0ZXJpYVwiOiAkZmEtdmFyLWJhY3RlcmlhLFxuICBcImhhbmQtbGl6YXJkXCI6ICRmYS12YXItaGFuZC1saXphcmQsXG4gIFwibm90ZGVmXCI6ICRmYS12YXItbm90ZGVmLFxuICBcImRpc2Vhc2VcIjogJGZhLXZhci1kaXNlYXNlLFxuICBcImJyaWVmY2FzZS1tZWRpY2FsXCI6ICRmYS12YXItYnJpZWZjYXNlLW1lZGljYWwsXG4gIFwiZ2VuZGVybGVzc1wiOiAkZmEtdmFyLWdlbmRlcmxlc3MsXG4gIFwiY2hldnJvbi1yaWdodFwiOiAkZmEtdmFyLWNoZXZyb24tcmlnaHQsXG4gIFwicmV0d2VldFwiOiAkZmEtdmFyLXJldHdlZXQsXG4gIFwiY2FyLXJlYXJcIjogJGZhLXZhci1jYXItcmVhcixcbiAgXCJjYXItYWx0XCI6ICRmYS12YXItY2FyLWFsdCxcbiAgXCJwdW1wLXNvYXBcIjogJGZhLXZhci1wdW1wLXNvYXAsXG4gIFwidmlkZW8tc2xhc2hcIjogJGZhLXZhci12aWRlby1zbGFzaCxcbiAgXCJiYXR0ZXJ5LXF1YXJ0ZXJcIjogJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXIsXG4gIFwiYmF0dGVyeS0yXCI6ICRmYS12YXItYmF0dGVyeS0yLFxuICBcInJhZGlvXCI6ICRmYS12YXItcmFkaW8sXG4gIFwiYmFieS1jYXJyaWFnZVwiOiAkZmEtdmFyLWJhYnktY2FycmlhZ2UsXG4gIFwiY2FycmlhZ2UtYmFieVwiOiAkZmEtdmFyLWNhcnJpYWdlLWJhYnksXG4gIFwidHJhZmZpYy1saWdodFwiOiAkZmEtdmFyLXRyYWZmaWMtbGlnaHQsXG4gIFwidGhlcm1vbWV0ZXJcIjogJGZhLXZhci10aGVybW9tZXRlcixcbiAgXCJ2ci1jYXJkYm9hcmRcIjogJGZhLXZhci12ci1jYXJkYm9hcmQsXG4gIFwiaGFuZC1taWRkbGUtZmluZ2VyXCI6ICRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyLFxuICBcInBlcmNlbnRcIjogJGZhLXZhci1wZXJjZW50LFxuICBcInBlcmNlbnRhZ2VcIjogJGZhLXZhci1wZXJjZW50YWdlLFxuICBcInRydWNrLW1vdmluZ1wiOiAkZmEtdmFyLXRydWNrLW1vdmluZyxcbiAgXCJnbGFzcy13YXRlci1kcm9wbGV0XCI6ICRmYS12YXItZ2xhc3Mtd2F0ZXItZHJvcGxldCxcbiAgXCJkaXNwbGF5XCI6ICRmYS12YXItZGlzcGxheSxcbiAgXCJmYWNlLXNtaWxlXCI6ICRmYS12YXItZmFjZS1zbWlsZSxcbiAgXCJzbWlsZVwiOiAkZmEtdmFyLXNtaWxlLFxuICBcInRodW1idGFja1wiOiAkZmEtdmFyLXRodW1idGFjayxcbiAgXCJ0aHVtYi10YWNrXCI6ICRmYS12YXItdGh1bWItdGFjayxcbiAgXCJ0cm9waHlcIjogJGZhLXZhci10cm9waHksXG4gIFwicGVyc29uLXByYXlpbmdcIjogJGZhLXZhci1wZXJzb24tcHJheWluZyxcbiAgXCJwcmF5XCI6ICRmYS12YXItcHJheSxcbiAgXCJoYW1tZXJcIjogJGZhLXZhci1oYW1tZXIsXG4gIFwiaGFuZC1wZWFjZVwiOiAkZmEtdmFyLWhhbmQtcGVhY2UsXG4gIFwicm90YXRlXCI6ICRmYS12YXItcm90YXRlLFxuICBcInN5bmMtYWx0XCI6ICRmYS12YXItc3luYy1hbHQsXG4gIFwic3Bpbm5lclwiOiAkZmEtdmFyLXNwaW5uZXIsXG4gIFwicm9ib3RcIjogJGZhLXZhci1yb2JvdCxcbiAgXCJwZWFjZVwiOiAkZmEtdmFyLXBlYWNlLFxuICBcImdlYXJzXCI6ICRmYS12YXItZ2VhcnMsXG4gIFwiY29nc1wiOiAkZmEtdmFyLWNvZ3MsXG4gIFwid2FyZWhvdXNlXCI6ICRmYS12YXItd2FyZWhvdXNlLFxuICBcImFycm93LXVwLXJpZ2h0LWRvdHNcIjogJGZhLXZhci1hcnJvdy11cC1yaWdodC1kb3RzLFxuICBcInNwbG90Y2hcIjogJGZhLXZhci1zcGxvdGNoLFxuICBcImZhY2UtZ3Jpbi1oZWFydHNcIjogJGZhLXZhci1mYWNlLWdyaW4taGVhcnRzLFxuICBcImdyaW4taGVhcnRzXCI6ICRmYS12YXItZ3Jpbi1oZWFydHMsXG4gIFwiZGljZS1mb3VyXCI6ICRmYS12YXItZGljZS1mb3VyLFxuICBcInNpbS1jYXJkXCI6ICRmYS12YXItc2ltLWNhcmQsXG4gIFwidHJhbnNnZW5kZXJcIjogJGZhLXZhci10cmFuc2dlbmRlcixcbiAgXCJ0cmFuc2dlbmRlci1hbHRcIjogJGZhLXZhci10cmFuc2dlbmRlci1hbHQsXG4gIFwibWVyY3VyeVwiOiAkZmEtdmFyLW1lcmN1cnksXG4gIFwiYXJyb3ctdHVybi1kb3duXCI6ICRmYS12YXItYXJyb3ctdHVybi1kb3duLFxuICBcImxldmVsLWRvd25cIjogJGZhLXZhci1sZXZlbC1kb3duLFxuICBcInBlcnNvbi1mYWxsaW5nLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWZhbGxpbmctYnVyc3QsXG4gIFwiYXdhcmRcIjogJGZhLXZhci1hd2FyZCxcbiAgXCJ0aWNrZXQtc2ltcGxlXCI6ICRmYS12YXItdGlja2V0LXNpbXBsZSxcbiAgXCJ0aWNrZXQtYWx0XCI6ICRmYS12YXItdGlja2V0LWFsdCxcbiAgXCJidWlsZGluZ1wiOiAkZmEtdmFyLWJ1aWxkaW5nLFxuICBcImFuZ2xlcy1sZWZ0XCI6ICRmYS12YXItYW5nbGVzLWxlZnQsXG4gIFwiYW5nbGUtZG91YmxlLWxlZnRcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdCxcbiAgXCJxcmNvZGVcIjogJGZhLXZhci1xcmNvZGUsXG4gIFwiY2xvY2stcm90YXRlLWxlZnRcIjogJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdCxcbiAgXCJoaXN0b3J5XCI6ICRmYS12YXItaGlzdG9yeSxcbiAgXCJmYWNlLWdyaW4tYmVhbS1zd2VhdFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLXN3ZWF0LFxuICBcImdyaW4tYmVhbS1zd2VhdFwiOiAkZmEtdmFyLWdyaW4tYmVhbS1zd2VhdCxcbiAgXCJmaWxlLWV4cG9ydFwiOiAkZmEtdmFyLWZpbGUtZXhwb3J0LFxuICBcImFycm93LXJpZ2h0LWZyb20tZmlsZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tZmlsZSxcbiAgXCJzaGllbGRcIjogJGZhLXZhci1zaGllbGQsXG4gIFwic2hpZWxkLWJsYW5rXCI6ICRmYS12YXItc2hpZWxkLWJsYW5rLFxuICBcImFycm93LXVwLXNob3J0LXdpZGVcIjogJGZhLXZhci1hcnJvdy11cC1zaG9ydC13aWRlLFxuICBcInNvcnQtYW1vdW50LXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCxcbiAgXCJob3VzZS1tZWRpY2FsXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbCxcbiAgXCJnb2xmLWJhbGwtdGVlXCI6ICRmYS12YXItZ29sZi1iYWxsLXRlZSxcbiAgXCJnb2xmLWJhbGxcIjogJGZhLXZhci1nb2xmLWJhbGwsXG4gIFwiY2lyY2xlLWNoZXZyb24tbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWxlZnQsXG4gIFwiY2hldnJvbi1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQsXG4gIFwiaG91c2UtY2hpbW5leS13aW5kb3dcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LXdpbmRvdyxcbiAgXCJwZW4tbmliXCI6ICRmYS12YXItcGVuLW5pYixcbiAgXCJ0ZW50LWFycm93LXR1cm4tbGVmdFwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctdHVybi1sZWZ0LFxuICBcInRlbnRzXCI6ICRmYS12YXItdGVudHMsXG4gIFwid2FuZC1tYWdpY1wiOiAkZmEtdmFyLXdhbmQtbWFnaWMsXG4gIFwibWFnaWNcIjogJGZhLXZhci1tYWdpYyxcbiAgXCJkb2dcIjogJGZhLXZhci1kb2csXG4gIFwiY2Fycm90XCI6ICRmYS12YXItY2Fycm90LFxuICBcIm1vb25cIjogJGZhLXZhci1tb29uLFxuICBcIndpbmUtZ2xhc3MtZW1wdHlcIjogJGZhLXZhci13aW5lLWdsYXNzLWVtcHR5LFxuICBcIndpbmUtZ2xhc3MtYWx0XCI6ICRmYS12YXItd2luZS1nbGFzcy1hbHQsXG4gIFwiY2hlZXNlXCI6ICRmYS12YXItY2hlZXNlLFxuICBcInlpbi15YW5nXCI6ICRmYS12YXIteWluLXlhbmcsXG4gIFwibXVzaWNcIjogJGZhLXZhci1tdXNpYyxcbiAgXCJjb2RlLWNvbW1pdFwiOiAkZmEtdmFyLWNvZGUtY29tbWl0LFxuICBcInRlbXBlcmF0dXJlLWxvd1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyxcbiAgXCJwZXJzb24tYmlraW5nXCI6ICRmYS12YXItcGVyc29uLWJpa2luZyxcbiAgXCJiaWtpbmdcIjogJGZhLXZhci1iaWtpbmcsXG4gIFwiYnJvb21cIjogJGZhLXZhci1icm9vbSxcbiAgXCJzaGllbGQtaGVhcnRcIjogJGZhLXZhci1zaGllbGQtaGVhcnQsXG4gIFwiZ29wdXJhbVwiOiAkZmEtdmFyLWdvcHVyYW0sXG4gIFwiZWFydGgtb2NlYW5pYVwiOiAkZmEtdmFyLWVhcnRoLW9jZWFuaWEsXG4gIFwiZ2xvYmUtb2NlYW5pYVwiOiAkZmEtdmFyLWdsb2JlLW9jZWFuaWEsXG4gIFwic3F1YXJlLXhtYXJrXCI6ICRmYS12YXItc3F1YXJlLXhtYXJrLFxuICBcInRpbWVzLXNxdWFyZVwiOiAkZmEtdmFyLXRpbWVzLXNxdWFyZSxcbiAgXCJ4bWFyay1zcXVhcmVcIjogJGZhLXZhci14bWFyay1zcXVhcmUsXG4gIFwiaGFzaHRhZ1wiOiAkZmEtdmFyLWhhc2h0YWcsXG4gIFwidXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlclwiOiAkZmEtdmFyLXVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXIsXG4gIFwiZXhwYW5kLWFsdFwiOiAkZmEtdmFyLWV4cGFuZC1hbHQsXG4gIFwib2lsLWNhblwiOiAkZmEtdmFyLW9pbC1jYW4sXG4gIFwidFwiOiAkZmEtdmFyLXQsXG4gIFwiaGlwcG9cIjogJGZhLXZhci1oaXBwbyxcbiAgXCJjaGFydC1jb2x1bW5cIjogJGZhLXZhci1jaGFydC1jb2x1bW4sXG4gIFwiaW5maW5pdHlcIjogJGZhLXZhci1pbmZpbml0eSxcbiAgXCJ2aWFsLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXZpYWwtY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci1wZXJzb24tYXJyb3ctZG93bi10by1saW5lLFxuICBcInZvaWNlbWFpbFwiOiAkZmEtdmFyLXZvaWNlbWFpbCxcbiAgXCJmYW5cIjogJGZhLXZhci1mYW4sXG4gIFwicGVyc29uLXdhbGtpbmctbHVnZ2FnZVwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWx1Z2dhZ2UsXG4gIFwidXAtZG93blwiOiAkZmEtdmFyLXVwLWRvd24sXG4gIFwiYXJyb3dzLWFsdC12XCI6ICRmYS12YXItYXJyb3dzLWFsdC12LFxuICBcImNsb3VkLW1vb24tcmFpblwiOiAkZmEtdmFyLWNsb3VkLW1vb24tcmFpbixcbiAgXCJjYWxlbmRhclwiOiAkZmEtdmFyLWNhbGVuZGFyLFxuICBcInRyYWlsZXJcIjogJGZhLXZhci10cmFpbGVyLFxuICBcImJhaGFpXCI6ICRmYS12YXItYmFoYWksXG4gIFwiaGF5a2FsXCI6ICRmYS12YXItaGF5a2FsLFxuICBcInNkLWNhcmRcIjogJGZhLXZhci1zZC1jYXJkLFxuICBcImRyYWdvblwiOiAkZmEtdmFyLWRyYWdvbixcbiAgXCJzaG9lLXByaW50c1wiOiAkZmEtdmFyLXNob2UtcHJpbnRzLFxuICBcImNpcmNsZS1wbHVzXCI6ICRmYS12YXItY2lyY2xlLXBsdXMsXG4gIFwicGx1cy1jaXJjbGVcIjogJGZhLXZhci1wbHVzLWNpcmNsZSxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlLXdpbmtcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXdpbmssXG4gIFwiZ3Jpbi10b25ndWUtd2lua1wiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbmssXG4gIFwiaGFuZC1ob2xkaW5nXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLFxuICBcInBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwibGluay1zbGFzaFwiOiAkZmEtdmFyLWxpbmstc2xhc2gsXG4gIFwiY2hhaW4tYnJva2VuXCI6ICRmYS12YXItY2hhaW4tYnJva2VuLFxuICBcImNoYWluLXNsYXNoXCI6ICRmYS12YXItY2hhaW4tc2xhc2gsXG4gIFwidW5saW5rXCI6ICRmYS12YXItdW5saW5rLFxuICBcImNsb25lXCI6ICRmYS12YXItY2xvbmUsXG4gIFwicGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0LFxuICBcImFycm93LXVwLXotYVwiOiAkZmEtdmFyLWFycm93LXVwLXotYSxcbiAgXCJzb3J0LWFscGhhLXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0LFxuICBcImZpcmUtZmxhbWUtY3VydmVkXCI6ICRmYS12YXItZmlyZS1mbGFtZS1jdXJ2ZWQsXG4gIFwiZmlyZS1hbHRcIjogJGZhLXZhci1maXJlLWFsdCxcbiAgXCJ0b3JuYWRvXCI6ICRmYS12YXItdG9ybmFkbyxcbiAgXCJmaWxlLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtcGx1cyxcbiAgXCJib29rLXF1cmFuXCI6ICRmYS12YXItYm9vay1xdXJhbixcbiAgXCJxdXJhblwiOiAkZmEtdmFyLXF1cmFuLFxuICBcImFuY2hvclwiOiAkZmEtdmFyLWFuY2hvcixcbiAgXCJib3JkZXItYWxsXCI6ICRmYS12YXItYm9yZGVyLWFsbCxcbiAgXCJmYWNlLWFuZ3J5XCI6ICRmYS12YXItZmFjZS1hbmdyeSxcbiAgXCJhbmdyeVwiOiAkZmEtdmFyLWFuZ3J5LFxuICBcImNvb2tpZS1iaXRlXCI6ICRmYS12YXItY29va2llLWJpdGUsXG4gIFwiYXJyb3ctdHJlbmQtZG93blwiOiAkZmEtdmFyLWFycm93LXRyZW5kLWRvd24sXG4gIFwicnNzXCI6ICRmYS12YXItcnNzLFxuICBcImZlZWRcIjogJGZhLXZhci1mZWVkLFxuICBcImRyYXctcG9seWdvblwiOiAkZmEtdmFyLWRyYXctcG9seWdvbixcbiAgXCJzY2FsZS1iYWxhbmNlZFwiOiAkZmEtdmFyLXNjYWxlLWJhbGFuY2VkLFxuICBcImJhbGFuY2Utc2NhbGVcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLFxuICBcImdhdWdlLXNpbXBsZS1oaWdoXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLWhpZ2gsXG4gIFwidGFjaG9tZXRlclwiOiAkZmEtdmFyLXRhY2hvbWV0ZXIsXG4gIFwidGFjaG9tZXRlci1mYXN0XCI6ICRmYS12YXItdGFjaG9tZXRlci1mYXN0LFxuICBcInNob3dlclwiOiAkZmEtdmFyLXNob3dlcixcbiAgXCJkZXNrdG9wXCI6ICRmYS12YXItZGVza3RvcCxcbiAgXCJkZXNrdG9wLWFsdFwiOiAkZmEtdmFyLWRlc2t0b3AtYWx0LFxuICBcIm1cIjogJGZhLXZhci1tLFxuICBcInRhYmxlLWxpc3RcIjogJGZhLXZhci10YWJsZS1saXN0LFxuICBcInRoLWxpc3RcIjogJGZhLXZhci10aC1saXN0LFxuICBcImNvbW1lbnQtc21zXCI6ICRmYS12YXItY29tbWVudC1zbXMsXG4gIFwic21zXCI6ICRmYS12YXItc21zLFxuICBcImJvb2tcIjogJGZhLXZhci1ib29rLFxuICBcInVzZXItcGx1c1wiOiAkZmEtdmFyLXVzZXItcGx1cyxcbiAgXCJjaGVja1wiOiAkZmEtdmFyLWNoZWNrLFxuICBcImJhdHRlcnktdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzLFxuICBcImJhdHRlcnktNFwiOiAkZmEtdmFyLWJhdHRlcnktNCxcbiAgXCJob3VzZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1ob3VzZS1jaXJjbGUtY2hlY2ssXG4gIFwiYW5nbGUtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlLWxlZnQsXG4gIFwiZGlhZ3JhbS1zdWNjZXNzb3JcIjogJGZhLXZhci1kaWFncmFtLXN1Y2Nlc3NvcixcbiAgXCJ0cnVjay1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXRydWNrLWFycm93LXJpZ2h0LFxuICBcImFycm93cy1zcGxpdC11cC1hbmQtbGVmdFwiOiAkZmEtdmFyLWFycm93cy1zcGxpdC11cC1hbmQtbGVmdCxcbiAgXCJoYW5kLWZpc3RcIjogJGZhLXZhci1oYW5kLWZpc3QsXG4gIFwiZmlzdC1yYWlzZWRcIjogJGZhLXZhci1maXN0LXJhaXNlZCxcbiAgXCJjbG91ZC1tb29uXCI6ICRmYS12YXItY2xvdWQtbW9vbixcbiAgXCJicmllZmNhc2VcIjogJGZhLXZhci1icmllZmNhc2UsXG4gIFwicGVyc29uLWZhbGxpbmdcIjogJGZhLXZhci1wZXJzb24tZmFsbGluZyxcbiAgXCJpbWFnZS1wb3J0cmFpdFwiOiAkZmEtdmFyLWltYWdlLXBvcnRyYWl0LFxuICBcInBvcnRyYWl0XCI6ICRmYS12YXItcG9ydHJhaXQsXG4gIFwidXNlci10YWdcIjogJGZhLXZhci11c2VyLXRhZyxcbiAgXCJydWdcIjogJGZhLXZhci1ydWcsXG4gIFwiZWFydGgtZXVyb3BlXCI6ICRmYS12YXItZWFydGgtZXVyb3BlLFxuICBcImdsb2JlLWV1cm9wZVwiOiAkZmEtdmFyLWdsb2JlLWV1cm9wZSxcbiAgXCJjYXJ0LWZsYXRiZWQtc3VpdGNhc2VcIjogJGZhLXZhci1jYXJ0LWZsYXRiZWQtc3VpdGNhc2UsXG4gIFwibHVnZ2FnZS1jYXJ0XCI6ICRmYS12YXItbHVnZ2FnZS1jYXJ0LFxuICBcInJlY3RhbmdsZS14bWFya1wiOiAkZmEtdmFyLXJlY3RhbmdsZS14bWFyayxcbiAgXCJyZWN0YW5nbGUtdGltZXNcIjogJGZhLXZhci1yZWN0YW5nbGUtdGltZXMsXG4gIFwidGltZXMtcmVjdGFuZ2xlXCI6ICRmYS12YXItdGltZXMtcmVjdGFuZ2xlLFxuICBcIndpbmRvdy1jbG9zZVwiOiAkZmEtdmFyLXdpbmRvdy1jbG9zZSxcbiAgXCJiYWh0LXNpZ25cIjogJGZhLXZhci1iYWh0LXNpZ24sXG4gIFwiYm9vay1vcGVuXCI6ICRmYS12YXItYm9vay1vcGVuLFxuICBcImJvb2stam91cm5hbC13aGlsbHNcIjogJGZhLXZhci1ib29rLWpvdXJuYWwtd2hpbGxzLFxuICBcImpvdXJuYWwtd2hpbGxzXCI6ICRmYS12YXItam91cm5hbC13aGlsbHMsXG4gIFwiaGFuZGN1ZmZzXCI6ICRmYS12YXItaGFuZGN1ZmZzLFxuICBcInRyaWFuZ2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItdHJpYW5nbGUtZXhjbGFtYXRpb24sXG4gIFwiZXhjbGFtYXRpb24tdHJpYW5nbGVcIjogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZSxcbiAgXCJ3YXJuaW5nXCI6ICRmYS12YXItd2FybmluZyxcbiAgXCJkYXRhYmFzZVwiOiAkZmEtdmFyLWRhdGFiYXNlLFxuICBcInNoYXJlXCI6ICRmYS12YXItc2hhcmUsXG4gIFwibWFpbC1mb3J3YXJkXCI6ICRmYS12YXItbWFpbC1mb3J3YXJkLFxuICBcImJvdHRsZS1kcm9wbGV0XCI6ICRmYS12YXItYm90dGxlLWRyb3BsZXQsXG4gIFwibWFzay1mYWNlXCI6ICRmYS12YXItbWFzay1mYWNlLFxuICBcImhpbGwtcm9ja3NsaWRlXCI6ICRmYS12YXItaGlsbC1yb2Nrc2xpZGUsXG4gIFwicmlnaHQtbGVmdFwiOiAkZmEtdmFyLXJpZ2h0LWxlZnQsXG4gIFwiZXhjaGFuZ2UtYWx0XCI6ICRmYS12YXItZXhjaGFuZ2UtYWx0LFxuICBcInBhcGVyLXBsYW5lXCI6ICRmYS12YXItcGFwZXItcGxhbmUsXG4gIFwicm9hZC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1yb2FkLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJkdW5nZW9uXCI6ICRmYS12YXItZHVuZ2VvbixcbiAgXCJhbGlnbi1yaWdodFwiOiAkZmEtdmFyLWFsaWduLXJpZ2h0LFxuICBcIm1vbmV5LWJpbGwtMS13YXZlXCI6ICRmYS12YXItbW9uZXktYmlsbC0xLXdhdmUsXG4gIFwibW9uZXktYmlsbC13YXZlLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQsXG4gIFwibGlmZS1yaW5nXCI6ICRmYS12YXItbGlmZS1yaW5nLFxuICBcImhhbmRzXCI6ICRmYS12YXItaGFuZHMsXG4gIFwic2lnbi1sYW5ndWFnZVwiOiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UsXG4gIFwic2lnbmluZ1wiOiAkZmEtdmFyLXNpZ25pbmcsXG4gIFwiY2FsZW5kYXItZGF5XCI6ICRmYS12YXItY2FsZW5kYXItZGF5LFxuICBcIndhdGVyLWxhZGRlclwiOiAkZmEtdmFyLXdhdGVyLWxhZGRlcixcbiAgXCJsYWRkZXItd2F0ZXJcIjogJGZhLXZhci1sYWRkZXItd2F0ZXIsXG4gIFwic3dpbW1pbmctcG9vbFwiOiAkZmEtdmFyLXN3aW1taW5nLXBvb2wsXG4gIFwiYXJyb3dzLXVwLWRvd25cIjogJGZhLXZhci1hcnJvd3MtdXAtZG93bixcbiAgXCJhcnJvd3MtdlwiOiAkZmEtdmFyLWFycm93cy12LFxuICBcImZhY2UtZ3JpbWFjZVwiOiAkZmEtdmFyLWZhY2UtZ3JpbWFjZSxcbiAgXCJncmltYWNlXCI6ICRmYS12YXItZ3JpbWFjZSxcbiAgXCJ3aGVlbGNoYWlyLW1vdmVcIjogJGZhLXZhci13aGVlbGNoYWlyLW1vdmUsXG4gIFwid2hlZWxjaGFpci1hbHRcIjogJGZhLXZhci13aGVlbGNoYWlyLWFsdCxcbiAgXCJ0dXJuLWRvd25cIjogJGZhLXZhci10dXJuLWRvd24sXG4gIFwibGV2ZWwtZG93bi1hbHRcIjogJGZhLXZhci1sZXZlbC1kb3duLWFsdCxcbiAgXCJwZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0LFxuICBcInNxdWFyZS1lbnZlbG9wZVwiOiAkZmEtdmFyLXNxdWFyZS1lbnZlbG9wZSxcbiAgXCJlbnZlbG9wZS1zcXVhcmVcIjogJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUsXG4gIFwiZGljZVwiOiAkZmEtdmFyLWRpY2UsXG4gIFwiYm93bGluZy1iYWxsXCI6ICRmYS12YXItYm93bGluZy1iYWxsLFxuICBcImJyYWluXCI6ICRmYS12YXItYnJhaW4sXG4gIFwiYmFuZGFnZVwiOiAkZmEtdmFyLWJhbmRhZ2UsXG4gIFwiYmFuZC1haWRcIjogJGZhLXZhci1iYW5kLWFpZCxcbiAgXCJjYWxlbmRhci1taW51c1wiOiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLFxuICBcImNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWNpcmNsZS14bWFyayxcbiAgXCJ0aW1lcy1jaXJjbGVcIjogJGZhLXZhci10aW1lcy1jaXJjbGUsXG4gIFwieG1hcmstY2lyY2xlXCI6ICRmYS12YXIteG1hcmstY2lyY2xlLFxuICBcImdpZnRzXCI6ICRmYS12YXItZ2lmdHMsXG4gIFwiaG90ZWxcIjogJGZhLXZhci1ob3RlbCxcbiAgXCJlYXJ0aC1hc2lhXCI6ICRmYS12YXItZWFydGgtYXNpYSxcbiAgXCJnbG9iZS1hc2lhXCI6ICRmYS12YXItZ2xvYmUtYXNpYSxcbiAgXCJpZC1jYXJkLWNsaXBcIjogJGZhLXZhci1pZC1jYXJkLWNsaXAsXG4gIFwiaWQtY2FyZC1hbHRcIjogJGZhLXZhci1pZC1jYXJkLWFsdCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLXBsdXNcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLXBsdXMsXG4gIFwic2VhcmNoLXBsdXNcIjogJGZhLXZhci1zZWFyY2gtcGx1cyxcbiAgXCJ0aHVtYnMtdXBcIjogJGZhLXZhci10aHVtYnMtdXAsXG4gIFwidXNlci1jbG9ja1wiOiAkZmEtdmFyLXVzZXItY2xvY2ssXG4gIFwiaGFuZC1kb3RzXCI6ICRmYS12YXItaGFuZC1kb3RzLFxuICBcImFsbGVyZ2llc1wiOiAkZmEtdmFyLWFsbGVyZ2llcyxcbiAgXCJmaWxlLWludm9pY2VcIjogJGZhLXZhci1maWxlLWludm9pY2UsXG4gIFwid2luZG93LW1pbmltaXplXCI6ICRmYS12YXItd2luZG93LW1pbmltaXplLFxuICBcIm11Zy1zYXVjZXJcIjogJGZhLXZhci1tdWctc2F1Y2VyLFxuICBcImNvZmZlZVwiOiAkZmEtdmFyLWNvZmZlZSxcbiAgXCJicnVzaFwiOiAkZmEtdmFyLWJydXNoLFxuICBcIm1hc2tcIjogJGZhLXZhci1tYXNrLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtbWludXNcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLW1pbnVzLFxuICBcInNlYXJjaC1taW51c1wiOiAkZmEtdmFyLXNlYXJjaC1taW51cyxcbiAgXCJydWxlci12ZXJ0aWNhbFwiOiAkZmEtdmFyLXJ1bGVyLXZlcnRpY2FsLFxuICBcInVzZXItbGFyZ2VcIjogJGZhLXZhci11c2VyLWxhcmdlLFxuICBcInVzZXItYWx0XCI6ICRmYS12YXItdXNlci1hbHQsXG4gIFwidHJhaW4tdHJhbVwiOiAkZmEtdmFyLXRyYWluLXRyYW0sXG4gIFwidXNlci1udXJzZVwiOiAkZmEtdmFyLXVzZXItbnVyc2UsXG4gIFwic3lyaW5nZVwiOiAkZmEtdmFyLXN5cmluZ2UsXG4gIFwiY2xvdWQtc3VuXCI6ICRmYS12YXItY2xvdWQtc3VuLFxuICBcInN0b3B3YXRjaC0yMFwiOiAkZmEtdmFyLXN0b3B3YXRjaC0yMCxcbiAgXCJzcXVhcmUtZnVsbFwiOiAkZmEtdmFyLXNxdWFyZS1mdWxsLFxuICBcIm1hZ25ldFwiOiAkZmEtdmFyLW1hZ25ldCxcbiAgXCJqYXJcIjogJGZhLXZhci1qYXIsXG4gIFwibm90ZS1zdGlja3lcIjogJGZhLXZhci1ub3RlLXN0aWNreSxcbiAgXCJzdGlja3ktbm90ZVwiOiAkZmEtdmFyLXN0aWNreS1ub3RlLFxuICBcImJ1Zy1zbGFzaFwiOiAkZmEtdmFyLWJ1Zy1zbGFzaCxcbiAgXCJhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXBcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAsXG4gIFwiYm9uZVwiOiAkZmEtdmFyLWJvbmUsXG4gIFwidXNlci1pbmp1cmVkXCI6ICRmYS12YXItdXNlci1pbmp1cmVkLFxuICBcImZhY2Utc2FkLXRlYXJcIjogJGZhLXZhci1mYWNlLXNhZC10ZWFyLFxuICBcInNhZC10ZWFyXCI6ICRmYS12YXItc2FkLXRlYXIsXG4gIFwicGxhbmVcIjogJGZhLXZhci1wbGFuZSxcbiAgXCJ0ZW50LWFycm93cy1kb3duXCI6ICRmYS12YXItdGVudC1hcnJvd3MtZG93bixcbiAgXCJleGNsYW1hdGlvblwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLFxuICBcImFycm93cy1zcGluXCI6ICRmYS12YXItYXJyb3dzLXNwaW4sXG4gIFwicHJpbnRcIjogJGZhLXZhci1wcmludCxcbiAgXCJ0dXJraXNoLWxpcmEtc2lnblwiOiAkZmEtdmFyLXR1cmtpc2gtbGlyYS1zaWduLFxuICBcInRyeVwiOiAkZmEtdmFyLXRyeSxcbiAgXCJ0dXJraXNoLWxpcmFcIjogJGZhLXZhci10dXJraXNoLWxpcmEsXG4gIFwiZG9sbGFyLXNpZ25cIjogJGZhLXZhci1kb2xsYXItc2lnbixcbiAgXCJkb2xsYXJcIjogJGZhLXZhci1kb2xsYXIsXG4gIFwidXNkXCI6ICRmYS12YXItdXNkLFxuICBcInhcIjogJGZhLXZhci14LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1kb2xsYXIsXG4gIFwic2VhcmNoLWRvbGxhclwiOiAkZmEtdmFyLXNlYXJjaC1kb2xsYXIsXG4gIFwidXNlcnMtZ2VhclwiOiAkZmEtdmFyLXVzZXJzLWdlYXIsXG4gIFwidXNlcnMtY29nXCI6ICRmYS12YXItdXNlcnMtY29nLFxuICBcInBlcnNvbi1taWxpdGFyeS1wb2ludGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1wb2ludGluZyxcbiAgXCJidWlsZGluZy1jb2x1bW5zXCI6ICRmYS12YXItYnVpbGRpbmctY29sdW1ucyxcbiAgXCJiYW5rXCI6ICRmYS12YXItYmFuayxcbiAgXCJpbnN0aXR1dGlvblwiOiAkZmEtdmFyLWluc3RpdHV0aW9uLFxuICBcIm11c2V1bVwiOiAkZmEtdmFyLW11c2V1bSxcbiAgXCJ1bml2ZXJzaXR5XCI6ICRmYS12YXItdW5pdmVyc2l0eSxcbiAgXCJ1bWJyZWxsYVwiOiAkZmEtdmFyLXVtYnJlbGxhLFxuICBcInRyb3dlbFwiOiAkZmEtdmFyLXRyb3dlbCxcbiAgXCJkXCI6ICRmYS12YXItZCxcbiAgXCJzdGFwbGVyXCI6ICRmYS12YXItc3RhcGxlcixcbiAgXCJtYXNrcy10aGVhdGVyXCI6ICRmYS12YXItbWFza3MtdGhlYXRlcixcbiAgXCJ0aGVhdGVyLW1hc2tzXCI6ICRmYS12YXItdGhlYXRlci1tYXNrcyxcbiAgXCJraXAtc2lnblwiOiAkZmEtdmFyLWtpcC1zaWduLFxuICBcImhhbmQtcG9pbnQtbGVmdFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtbGVmdCxcbiAgXCJoYW5kc2hha2Utc2ltcGxlXCI6ICRmYS12YXItaGFuZHNoYWtlLXNpbXBsZSxcbiAgXCJoYW5kc2hha2UtYWx0XCI6ICRmYS12YXItaGFuZHNoYWtlLWFsdCxcbiAgXCJqZXQtZmlnaHRlclwiOiAkZmEtdmFyLWpldC1maWdodGVyLFxuICBcImZpZ2h0ZXItamV0XCI6ICRmYS12YXItZmlnaHRlci1qZXQsXG4gIFwic3F1YXJlLXNoYXJlLW5vZGVzXCI6ICRmYS12YXItc3F1YXJlLXNoYXJlLW5vZGVzLFxuICBcInNoYXJlLWFsdC1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlLFxuICBcImJhcmNvZGVcIjogJGZhLXZhci1iYXJjb2RlLFxuICBcInBsdXMtbWludXNcIjogJGZhLXZhci1wbHVzLW1pbnVzLFxuICBcInZpZGVvXCI6ICRmYS12YXItdmlkZW8sXG4gIFwidmlkZW8tY2FtZXJhXCI6ICRmYS12YXItdmlkZW8tY2FtZXJhLFxuICBcImdyYWR1YXRpb24tY2FwXCI6ICRmYS12YXItZ3JhZHVhdGlvbi1jYXAsXG4gIFwibW9ydGFyLWJvYXJkXCI6ICRmYS12YXItbW9ydGFyLWJvYXJkLFxuICBcImhhbmQtaG9sZGluZy1tZWRpY2FsXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWwsXG4gIFwicGVyc29uLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtY2hlY2ssXG4gIFwidHVybi11cFwiOiAkZmEtdmFyLXR1cm4tdXAsXG4gIFwibGV2ZWwtdXAtYWx0XCI6ICRmYS12YXItbGV2ZWwtdXAtYWx0LFxuKTtcblxuJGZhLWJyYW5kLWljb25zOiAoXG4gIFwibW9uZXJvXCI6ICRmYS12YXItbW9uZXJvLFxuICBcImhvb2xpXCI6ICRmYS12YXItaG9vbGksXG4gIFwieWVscFwiOiAkZmEtdmFyLXllbHAsXG4gIFwiY2MtdmlzYVwiOiAkZmEtdmFyLWNjLXZpc2EsXG4gIFwibGFzdGZtXCI6ICRmYS12YXItbGFzdGZtLFxuICBcInNob3B3YXJlXCI6ICRmYS12YXItc2hvcHdhcmUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uY1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMsXG4gIFwiYXdzXCI6ICRmYS12YXItYXdzLFxuICBcInJlZGhhdFwiOiAkZmEtdmFyLXJlZGhhdCxcbiAgXCJ5b2FzdFwiOiAkZmEtdmFyLXlvYXN0LFxuICBcImNsb3VkZmxhcmVcIjogJGZhLXZhci1jbG91ZGZsYXJlLFxuICBcInVwc1wiOiAkZmEtdmFyLXVwcyxcbiAgXCJwaXhpdlwiOiAkZmEtdmFyLXBpeGl2LFxuICBcIndwZXhwbG9yZXJcIjogJGZhLXZhci13cGV4cGxvcmVyLFxuICBcImR5YWxvZ1wiOiAkZmEtdmFyLWR5YWxvZyxcbiAgXCJiaXR5XCI6ICRmYS12YXItYml0eSxcbiAgXCJzdGFja3BhdGhcIjogJGZhLXZhci1zdGFja3BhdGgsXG4gIFwiYnV5c2VsbGFkc1wiOiAkZmEtdmFyLWJ1eXNlbGxhZHMsXG4gIFwiZmlyc3Qtb3JkZXJcIjogJGZhLXZhci1maXJzdC1vcmRlcixcbiAgXCJtb2R4XCI6ICRmYS12YXItbW9keCxcbiAgXCJndWlsZGVkXCI6ICRmYS12YXItZ3VpbGRlZCxcbiAgXCJ2bnZcIjogJGZhLXZhci12bnYsXG4gIFwic3F1YXJlLWpzXCI6ICRmYS12YXItc3F1YXJlLWpzLFxuICBcImpzLXNxdWFyZVwiOiAkZmEtdmFyLWpzLXNxdWFyZSxcbiAgXCJtaWNyb3NvZnRcIjogJGZhLXZhci1taWNyb3NvZnQsXG4gIFwicXFcIjogJGZhLXZhci1xcSxcbiAgXCJvcmNpZFwiOiAkZmEtdmFyLW9yY2lkLFxuICBcImphdmFcIjogJGZhLXZhci1qYXZhLFxuICBcImludmlzaW9uXCI6ICRmYS12YXItaW52aXNpb24sXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1wZC1hbHRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdCxcbiAgXCJjZW50ZXJjb2RlXCI6ICRmYS12YXItY2VudGVyY29kZSxcbiAgXCJnbGlkZS1nXCI6ICRmYS12YXItZ2xpZGUtZyxcbiAgXCJkcnVwYWxcIjogJGZhLXZhci1kcnVwYWwsXG4gIFwiaGlyZS1hLWhlbHBlclwiOiAkZmEtdmFyLWhpcmUtYS1oZWxwZXIsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1ieVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnksXG4gIFwidW5pdHlcIjogJGZhLXZhci11bml0eSxcbiAgXCJ3aG1jc1wiOiAkZmEtdmFyLXdobWNzLFxuICBcInJvY2tldGNoYXRcIjogJGZhLXZhci1yb2NrZXRjaGF0LFxuICBcInZrXCI6ICRmYS12YXItdmssXG4gIFwidW50YXBwZFwiOiAkZmEtdmFyLXVudGFwcGQsXG4gIFwibWFpbGNoaW1wXCI6ICRmYS12YXItbWFpbGNoaW1wLFxuICBcImNzczMtYWx0XCI6ICRmYS12YXItY3NzMy1hbHQsXG4gIFwic3F1YXJlLXJlZGRpdFwiOiAkZmEtdmFyLXNxdWFyZS1yZWRkaXQsXG4gIFwicmVkZGl0LXNxdWFyZVwiOiAkZmEtdmFyLXJlZGRpdC1zcXVhcmUsXG4gIFwidmltZW8tdlwiOiAkZmEtdmFyLXZpbWVvLXYsXG4gIFwiY29udGFvXCI6ICRmYS12YXItY29udGFvLFxuICBcInNxdWFyZS1mb250LWF3ZXNvbWVcIjogJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLFxuICBcImRlc2twcm9cIjogJGZhLXZhci1kZXNrcHJvLFxuICBcImJyYXZlXCI6ICRmYS12YXItYnJhdmUsXG4gIFwic2lzdHJpeFwiOiAkZmEtdmFyLXNpc3RyaXgsXG4gIFwic3F1YXJlLWluc3RhZ3JhbVwiOiAkZmEtdmFyLXNxdWFyZS1pbnN0YWdyYW0sXG4gIFwiaW5zdGFncmFtLXNxdWFyZVwiOiAkZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmUsXG4gIFwiYmF0dGxlLW5ldFwiOiAkZmEtdmFyLWJhdHRsZS1uZXQsXG4gIFwidGhlLXJlZC15ZXRpXCI6ICRmYS12YXItdGhlLXJlZC15ZXRpLFxuICBcInNxdWFyZS1oYWNrZXItbmV3c1wiOiAkZmEtdmFyLXNxdWFyZS1oYWNrZXItbmV3cyxcbiAgXCJoYWNrZXItbmV3cy1zcXVhcmVcIjogJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmUsXG4gIFwiZWRnZVwiOiAkZmEtdmFyLWVkZ2UsXG4gIFwidGhyZWFkc1wiOiAkZmEtdmFyLXRocmVhZHMsXG4gIFwibmFwc3RlclwiOiAkZmEtdmFyLW5hcHN0ZXIsXG4gIFwic3F1YXJlLXNuYXBjaGF0XCI6ICRmYS12YXItc3F1YXJlLXNuYXBjaGF0LFxuICBcInNuYXBjaGF0LXNxdWFyZVwiOiAkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSxcbiAgXCJnb29nbGUtcGx1cy1nXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMtZyxcbiAgXCJhcnRzdGF0aW9uXCI6ICRmYS12YXItYXJ0c3RhdGlvbixcbiAgXCJtYXJrZG93blwiOiAkZmEtdmFyLW1hcmtkb3duLFxuICBcInNvdXJjZXRyZWVcIjogJGZhLXZhci1zb3VyY2V0cmVlLFxuICBcImdvb2dsZS1wbHVzXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMsXG4gIFwiZGlhc3BvcmFcIjogJGZhLXZhci1kaWFzcG9yYSxcbiAgXCJmb3Vyc3F1YXJlXCI6ICRmYS12YXItZm91cnNxdWFyZSxcbiAgXCJzdGFjay1vdmVyZmxvd1wiOiAkZmEtdmFyLXN0YWNrLW92ZXJmbG93LFxuICBcImdpdGh1Yi1hbHRcIjogJGZhLXZhci1naXRodWItYWx0LFxuICBcInBob2VuaXgtc3F1YWRyb25cIjogJGZhLXZhci1waG9lbml4LXNxdWFkcm9uLFxuICBcInBhZ2VsaW5lc1wiOiAkZmEtdmFyLXBhZ2VsaW5lcyxcbiAgXCJhbGdvbGlhXCI6ICRmYS12YXItYWxnb2xpYSxcbiAgXCJyZWQtcml2ZXJcIjogJGZhLXZhci1yZWQtcml2ZXIsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2EsXG4gIFwic2FmYXJpXCI6ICRmYS12YXItc2FmYXJpLFxuICBcImdvb2dsZVwiOiAkZmEtdmFyLWdvb2dsZSxcbiAgXCJzcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZVwiOiAkZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlLFxuICBcImZvbnQtYXdlc29tZS1hbHRcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0LFxuICBcImF0bGFzc2lhblwiOiAkZmEtdmFyLWF0bGFzc2lhbixcbiAgXCJsaW5rZWRpbi1pblwiOiAkZmEtdmFyLWxpbmtlZGluLWluLFxuICBcImRpZ2l0YWwtb2NlYW5cIjogJGZhLXZhci1kaWdpdGFsLW9jZWFuLFxuICBcIm5pbWJsclwiOiAkZmEtdmFyLW5pbWJscixcbiAgXCJjaHJvbWVjYXN0XCI6ICRmYS12YXItY2hyb21lY2FzdCxcbiAgXCJldmVybm90ZVwiOiAkZmEtdmFyLWV2ZXJub3RlLFxuICBcImhhY2tlci1uZXdzXCI6ICRmYS12YXItaGFja2VyLW5ld3MsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZ1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmcsXG4gIFwiYWR2ZXJzYWxcIjogJGZhLXZhci1hZHZlcnNhbCxcbiAgXCJjcmVhdGl2ZS1jb21tb25zXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucyxcbiAgXCJ3YXRjaG1hbi1tb25pdG9yaW5nXCI6ICRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyxcbiAgXCJmb250aWNvbnNcIjogJGZhLXZhci1mb250aWNvbnMsXG4gIFwid2VpeGluXCI6ICRmYS12YXItd2VpeGluLFxuICBcInNoaXJ0c2luYnVsa1wiOiAkZmEtdmFyLXNoaXJ0c2luYnVsayxcbiAgXCJjb2RlcGVuXCI6ICRmYS12YXItY29kZXBlbixcbiAgXCJnaXQtYWx0XCI6ICRmYS12YXItZ2l0LWFsdCxcbiAgXCJseWZ0XCI6ICRmYS12YXItbHlmdCxcbiAgXCJyZXZcIjogJGZhLXZhci1yZXYsXG4gIFwid2luZG93c1wiOiAkZmEtdmFyLXdpbmRvd3MsXG4gIFwid2l6YXJkcy1vZi10aGUtY29hc3RcIjogJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdCxcbiAgXCJzcXVhcmUtdmlhZGVvXCI6ICRmYS12YXItc3F1YXJlLXZpYWRlbyxcbiAgXCJ2aWFkZW8tc3F1YXJlXCI6ICRmYS12YXItdmlhZGVvLXNxdWFyZSxcbiAgXCJtZWV0dXBcIjogJGZhLXZhci1tZWV0dXAsXG4gIFwiY2VudG9zXCI6ICRmYS12YXItY2VudG9zLFxuICBcImFkblwiOiAkZmEtdmFyLWFkbixcbiAgXCJjbG91ZHNtaXRoXCI6ICRmYS12YXItY2xvdWRzbWl0aCxcbiAgXCJvcGVuc3VzZVwiOiAkZmEtdmFyLW9wZW5zdXNlLFxuICBcInBpZWQtcGlwZXItYWx0XCI6ICRmYS12YXItcGllZC1waXBlci1hbHQsXG4gIFwic3F1YXJlLWRyaWJiYmxlXCI6ICRmYS12YXItc3F1YXJlLWRyaWJiYmxlLFxuICBcImRyaWJiYmxlLXNxdWFyZVwiOiAkZmEtdmFyLWRyaWJiYmxlLXNxdWFyZSxcbiAgXCJjb2RpZXBpZVwiOiAkZmEtdmFyLWNvZGllcGllLFxuICBcIm5vZGVcIjogJGZhLXZhci1ub2RlLFxuICBcIm1peFwiOiAkZmEtdmFyLW1peCxcbiAgXCJzdGVhbVwiOiAkZmEtdmFyLXN0ZWFtLFxuICBcImNjLWFwcGxlLXBheVwiOiAkZmEtdmFyLWNjLWFwcGxlLXBheSxcbiAgXCJzY3JpYmRcIjogJGZhLXZhci1zY3JpYmQsXG4gIFwiZGViaWFuXCI6ICRmYS12YXItZGViaWFuLFxuICBcIm9wZW5pZFwiOiAkZmEtdmFyLW9wZW5pZCxcbiAgXCJpbnN0YWxvZFwiOiAkZmEtdmFyLWluc3RhbG9kLFxuICBcImV4cGVkaXRlZHNzbFwiOiAkZmEtdmFyLWV4cGVkaXRlZHNzbCxcbiAgXCJzZWxsY2FzdFwiOiAkZmEtdmFyLXNlbGxjYXN0LFxuICBcInNxdWFyZS10d2l0dGVyXCI6ICRmYS12YXItc3F1YXJlLXR3aXR0ZXIsXG4gIFwidHdpdHRlci1zcXVhcmVcIjogJGZhLXZhci10d2l0dGVyLXNxdWFyZSxcbiAgXCJyLXByb2plY3RcIjogJGZhLXZhci1yLXByb2plY3QsXG4gIFwiZGVsaWNpb3VzXCI6ICRmYS12YXItZGVsaWNpb3VzLFxuICBcImZyZWVic2RcIjogJGZhLXZhci1mcmVlYnNkLFxuICBcInZ1ZWpzXCI6ICRmYS12YXItdnVlanMsXG4gIFwiYWNjdXNvZnRcIjogJGZhLXZhci1hY2N1c29mdCxcbiAgXCJpb3hob3N0XCI6ICRmYS12YXItaW94aG9zdCxcbiAgXCJmb250aWNvbnMtZmlcIjogJGZhLXZhci1mb250aWNvbnMtZmksXG4gIFwiYXBwLXN0b3JlXCI6ICRmYS12YXItYXBwLXN0b3JlLFxuICBcImNjLW1hc3RlcmNhcmRcIjogJGZhLXZhci1jYy1tYXN0ZXJjYXJkLFxuICBcIml0dW5lcy1ub3RlXCI6ICRmYS12YXItaXR1bmVzLW5vdGUsXG4gIFwiZ29sYW5nXCI6ICRmYS12YXItZ29sYW5nLFxuICBcImtpY2tzdGFydGVyXCI6ICRmYS12YXIta2lja3N0YXJ0ZXIsXG4gIFwiZ3JhdlwiOiAkZmEtdmFyLWdyYXYsXG4gIFwid2VpYm9cIjogJGZhLXZhci13ZWlibyxcbiAgXCJ1bmNoYXJ0ZWRcIjogJGZhLXZhci11bmNoYXJ0ZWQsXG4gIFwiZmlyc3RkcmFmdFwiOiAkZmEtdmFyLWZpcnN0ZHJhZnQsXG4gIFwic3F1YXJlLXlvdXR1YmVcIjogJGZhLXZhci1zcXVhcmUteW91dHViZSxcbiAgXCJ5b3V0dWJlLXNxdWFyZVwiOiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlLFxuICBcIndpa2lwZWRpYS13XCI6ICRmYS12YXItd2lraXBlZGlhLXcsXG4gIFwid3ByZXNzclwiOiAkZmEtdmFyLXdwcmVzc3IsXG4gIFwicmVuZGFjdFwiOiAkZmEtdmFyLXJlbmRhY3QsXG4gIFwiYW5nZWxsaXN0XCI6ICRmYS12YXItYW5nZWxsaXN0LFxuICBcImdhbGFjdGljLXJlcHVibGljXCI6ICRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMsXG4gIFwibmZjLWRpcmVjdGlvbmFsXCI6ICRmYS12YXItbmZjLWRpcmVjdGlvbmFsLFxuICBcInNreXBlXCI6ICRmYS12YXItc2t5cGUsXG4gIFwiam9nZXRcIjogJGZhLXZhci1qb2dldCxcbiAgXCJmZWRvcmFcIjogJGZhLXZhci1mZWRvcmEsXG4gIFwic3RyaXBlLXNcIjogJGZhLXZhci1zdHJpcGUtcyxcbiAgXCJtZXRhXCI6ICRmYS12YXItbWV0YSxcbiAgXCJsYXJhdmVsXCI6ICRmYS12YXItbGFyYXZlbCxcbiAgXCJob3RqYXJcIjogJGZhLXZhci1ob3RqYXIsXG4gIFwiYmx1ZXRvb3RoLWJcIjogJGZhLXZhci1ibHVldG9vdGgtYixcbiAgXCJzcXVhcmUtbGV0dGVyYm94ZFwiOiAkZmEtdmFyLXNxdWFyZS1sZXR0ZXJib3hkLFxuICBcInN0aWNrZXItbXVsZVwiOiAkZmEtdmFyLXN0aWNrZXItbXVsZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXplcm9cIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8sXG4gIFwiaGlwc1wiOiAkZmEtdmFyLWhpcHMsXG4gIFwiYmVoYW5jZVwiOiAkZmEtdmFyLWJlaGFuY2UsXG4gIFwicmVkZGl0XCI6ICRmYS12YXItcmVkZGl0LFxuICBcImRpc2NvcmRcIjogJGZhLXZhci1kaXNjb3JkLFxuICBcImNocm9tZVwiOiAkZmEtdmFyLWNocm9tZSxcbiAgXCJhcHAtc3RvcmUtaW9zXCI6ICRmYS12YXItYXBwLXN0b3JlLWlvcyxcbiAgXCJjYy1kaXNjb3ZlclwiOiAkZmEtdmFyLWNjLWRpc2NvdmVyLFxuICBcIndwYmVnaW5uZXJcIjogJGZhLXZhci13cGJlZ2lubmVyLFxuICBcImNvbmZsdWVuY2VcIjogJGZhLXZhci1jb25mbHVlbmNlLFxuICBcInNob2VsYWNlXCI6ICRmYS12YXItc2hvZWxhY2UsXG4gIFwibWRiXCI6ICRmYS12YXItbWRiLFxuICBcImRvY2h1YlwiOiAkZmEtdmFyLWRvY2h1YixcbiAgXCJhY2Nlc3NpYmxlLWljb25cIjogJGZhLXZhci1hY2Nlc3NpYmxlLWljb24sXG4gIFwiZWJheVwiOiAkZmEtdmFyLWViYXksXG4gIFwiYW1hem9uXCI6ICRmYS12YXItYW1hem9uLFxuICBcInVuc3BsYXNoXCI6ICRmYS12YXItdW5zcGxhc2gsXG4gIFwieWFyblwiOiAkZmEtdmFyLXlhcm4sXG4gIFwic3F1YXJlLXN0ZWFtXCI6ICRmYS12YXItc3F1YXJlLXN0ZWFtLFxuICBcInN0ZWFtLXNxdWFyZVwiOiAkZmEtdmFyLXN0ZWFtLXNxdWFyZSxcbiAgXCI1MDBweFwiOiAkZmEtdmFyLTUwMHB4LFxuICBcInNxdWFyZS12aW1lb1wiOiAkZmEtdmFyLXNxdWFyZS12aW1lbyxcbiAgXCJ2aW1lby1zcXVhcmVcIjogJGZhLXZhci12aW1lby1zcXVhcmUsXG4gIFwiYXN5bW1ldHJpa1wiOiAkZmEtdmFyLWFzeW1tZXRyaWssXG4gIFwiZm9udC1hd2Vzb21lXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLFxuICBcImZvbnQtYXdlc29tZS1mbGFnXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcsXG4gIFwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGwsXG4gIFwiZ3JhdGlwYXlcIjogJGZhLXZhci1ncmF0aXBheSxcbiAgXCJhcHBsZVwiOiAkZmEtdmFyLWFwcGxlLFxuICBcImhpdmVcIjogJGZhLXZhci1oaXZlLFxuICBcImdpdGtyYWtlblwiOiAkZmEtdmFyLWdpdGtyYWtlbixcbiAgXCJrZXliYXNlXCI6ICRmYS12YXIta2V5YmFzZSxcbiAgXCJhcHBsZS1wYXlcIjogJGZhLXZhci1hcHBsZS1wYXksXG4gIFwicGFkbGV0XCI6ICRmYS12YXItcGFkbGV0LFxuICBcImFtYXpvbi1wYXlcIjogJGZhLXZhci1hbWF6b24tcGF5LFxuICBcInNxdWFyZS1naXRodWJcIjogJGZhLXZhci1zcXVhcmUtZ2l0aHViLFxuICBcImdpdGh1Yi1zcXVhcmVcIjogJGZhLXZhci1naXRodWItc3F1YXJlLFxuICBcInN0dW1ibGV1cG9uXCI6ICRmYS12YXItc3R1bWJsZXVwb24sXG4gIFwiZmVkZXhcIjogJGZhLXZhci1mZWRleCxcbiAgXCJwaG9lbml4LWZyYW1ld29ya1wiOiAkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrLFxuICBcInNob3BpZnlcIjogJGZhLXZhci1zaG9waWZ5LFxuICBcIm5lb3NcIjogJGZhLXZhci1uZW9zLFxuICBcInNxdWFyZS10aHJlYWRzXCI6ICRmYS12YXItc3F1YXJlLXRocmVhZHMsXG4gIFwiaGFja2VycmFua1wiOiAkZmEtdmFyLWhhY2tlcnJhbmssXG4gIFwicmVzZWFyY2hnYXRlXCI6ICRmYS12YXItcmVzZWFyY2hnYXRlLFxuICBcInN3aWZ0XCI6ICRmYS12YXItc3dpZnQsXG4gIFwiYW5ndWxhclwiOiAkZmEtdmFyLWFuZ3VsYXIsXG4gIFwic3BlYWthcFwiOiAkZmEtdmFyLXNwZWFrYXAsXG4gIFwiYW5ncnljcmVhdGl2ZVwiOiAkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUsXG4gIFwieS1jb21iaW5hdG9yXCI6ICRmYS12YXIteS1jb21iaW5hdG9yLFxuICBcImVtcGlyZVwiOiAkZmEtdmFyLWVtcGlyZSxcbiAgXCJlbnZpcmFcIjogJGZhLXZhci1lbnZpcmEsXG4gIFwiZ29vZ2xlLXNjaG9sYXJcIjogJGZhLXZhci1nb29nbGUtc2Nob2xhcixcbiAgXCJzcXVhcmUtZ2l0bGFiXCI6ICRmYS12YXItc3F1YXJlLWdpdGxhYixcbiAgXCJnaXRsYWItc3F1YXJlXCI6ICRmYS12YXItZ2l0bGFiLXNxdWFyZSxcbiAgXCJzdHVkaW92aW5hcmlcIjogJGZhLXZhci1zdHVkaW92aW5hcmksXG4gIFwicGllZC1waXBlclwiOiAkZmEtdmFyLXBpZWQtcGlwZXIsXG4gIFwid29yZHByZXNzXCI6ICRmYS12YXItd29yZHByZXNzLFxuICBcInByb2R1Y3QtaHVudFwiOiAkZmEtdmFyLXByb2R1Y3QtaHVudCxcbiAgXCJmaXJlZm94XCI6ICRmYS12YXItZmlyZWZveCxcbiAgXCJsaW5vZGVcIjogJGZhLXZhci1saW5vZGUsXG4gIFwiZ29vZHJlYWRzXCI6ICRmYS12YXItZ29vZHJlYWRzLFxuICBcInNxdWFyZS1vZG5va2xhc3NuaWtpXCI6ICRmYS12YXItc3F1YXJlLW9kbm9rbGFzc25pa2ksXG4gIFwib2Rub2tsYXNzbmlraS1zcXVhcmVcIjogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZSxcbiAgXCJqc2ZpZGRsZVwiOiAkZmEtdmFyLWpzZmlkZGxlLFxuICBcInNpdGhcIjogJGZhLXZhci1zaXRoLFxuICBcInRoZW1laXNsZVwiOiAkZmEtdmFyLXRoZW1laXNsZSxcbiAgXCJwYWdlNFwiOiAkZmEtdmFyLXBhZ2U0LFxuICBcImhhc2hub2RlXCI6ICRmYS12YXItaGFzaG5vZGUsXG4gIFwicmVhY3RcIjogJGZhLXZhci1yZWFjdCxcbiAgXCJjYy1wYXlwYWxcIjogJGZhLXZhci1jYy1wYXlwYWwsXG4gIFwic3F1YXJlc3BhY2VcIjogJGZhLXZhci1zcXVhcmVzcGFjZSxcbiAgXCJjYy1zdHJpcGVcIjogJGZhLXZhci1jYy1zdHJpcGUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zaGFyZVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUsXG4gIFwiYml0Y29pblwiOiAkZmEtdmFyLWJpdGNvaW4sXG4gIFwia2V5Y2RuXCI6ICRmYS12YXIta2V5Y2RuLFxuICBcIm9wZXJhXCI6ICRmYS12YXItb3BlcmEsXG4gIFwiaXRjaC1pb1wiOiAkZmEtdmFyLWl0Y2gtaW8sXG4gIFwidW1icmFjb1wiOiAkZmEtdmFyLXVtYnJhY28sXG4gIFwiZ2FsYWN0aWMtc2VuYXRlXCI6ICRmYS12YXItZ2FsYWN0aWMtc2VuYXRlLFxuICBcInVidW50dVwiOiAkZmEtdmFyLXVidW50dSxcbiAgXCJkcmFmdDJkaWdpdGFsXCI6ICRmYS12YXItZHJhZnQyZGlnaXRhbCxcbiAgXCJzdHJpcGVcIjogJGZhLXZhci1zdHJpcGUsXG4gIFwiaG91enpcIjogJGZhLXZhci1ob3V6eixcbiAgXCJnZ1wiOiAkZmEtdmFyLWdnLFxuICBcImRobFwiOiAkZmEtdmFyLWRobCxcbiAgXCJzcXVhcmUtcGludGVyZXN0XCI6ICRmYS12YXItc3F1YXJlLXBpbnRlcmVzdCxcbiAgXCJwaW50ZXJlc3Qtc3F1YXJlXCI6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZSxcbiAgXCJ4aW5nXCI6ICRmYS12YXIteGluZyxcbiAgXCJibGFja2JlcnJ5XCI6ICRmYS12YXItYmxhY2tiZXJyeSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXBkXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZCxcbiAgXCJwbGF5c3RhdGlvblwiOiAkZmEtdmFyLXBsYXlzdGF0aW9uLFxuICBcInF1aW5zY2FwZVwiOiAkZmEtdmFyLXF1aW5zY2FwZSxcbiAgXCJsZXNzXCI6ICRmYS12YXItbGVzcyxcbiAgXCJibG9nZ2VyLWJcIjogJGZhLXZhci1ibG9nZ2VyLWIsXG4gIFwib3BlbmNhcnRcIjogJGZhLXZhci1vcGVuY2FydCxcbiAgXCJ2aW5lXCI6ICRmYS12YXItdmluZSxcbiAgXCJzaWduYWwtbWVzc2VuZ2VyXCI6ICRmYS12YXItc2lnbmFsLW1lc3NlbmdlcixcbiAgXCJwYXlwYWxcIjogJGZhLXZhci1wYXlwYWwsXG4gIFwiZ2l0bGFiXCI6ICRmYS12YXItZ2l0bGFiLFxuICBcInR5cG8zXCI6ICRmYS12YXItdHlwbzMsXG4gIFwicmVkZGl0LWFsaWVuXCI6ICRmYS12YXItcmVkZGl0LWFsaWVuLFxuICBcInlhaG9vXCI6ICRmYS12YXIteWFob28sXG4gIFwiZGFpbHltb3Rpb25cIjogJGZhLXZhci1kYWlseW1vdGlvbixcbiAgXCJhZmZpbGlhdGV0aGVtZVwiOiAkZmEtdmFyLWFmZmlsaWF0ZXRoZW1lLFxuICBcInBpZWQtcGlwZXItcHBcIjogJGZhLXZhci1waWVkLXBpcGVyLXBwLFxuICBcImJvb3RzdHJhcFwiOiAkZmEtdmFyLWJvb3RzdHJhcCxcbiAgXCJvZG5va2xhc3NuaWtpXCI6ICRmYS12YXItb2Rub2tsYXNzbmlraSxcbiAgXCJuZmMtc3ltYm9sXCI6ICRmYS12YXItbmZjLXN5bWJvbCxcbiAgXCJtaW50Yml0XCI6ICRmYS12YXItbWludGJpdCxcbiAgXCJldGhlcmV1bVwiOiAkZmEtdmFyLWV0aGVyZXVtLFxuICBcInNwZWFrZXItZGVja1wiOiAkZmEtdmFyLXNwZWFrZXItZGVjayxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jLWV1XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldSxcbiAgXCJwYXRyZW9uXCI6ICRmYS12YXItcGF0cmVvbixcbiAgXCJhdmlhbmV4XCI6ICRmYS12YXItYXZpYW5leCxcbiAgXCJlbGxvXCI6ICRmYS12YXItZWxsbyxcbiAgXCJnb2ZvcmVcIjogJGZhLXZhci1nb2ZvcmUsXG4gIFwiYmltb2JqZWN0XCI6ICRmYS12YXItYmltb2JqZWN0LFxuICBcImJyYXZlLXJldmVyc2VcIjogJGZhLXZhci1icmF2ZS1yZXZlcnNlLFxuICBcImZhY2Vib29rLWZcIjogJGZhLXZhci1mYWNlYm9vay1mLFxuICBcInNxdWFyZS1nb29nbGUtcGx1c1wiOiAkZmEtdmFyLXNxdWFyZS1nb29nbGUtcGx1cyxcbiAgXCJnb29nbGUtcGx1cy1zcXVhcmVcIjogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUsXG4gIFwibWFuZGFsb3JpYW5cIjogJGZhLXZhci1tYW5kYWxvcmlhbixcbiAgXCJmaXJzdC1vcmRlci1hbHRcIjogJGZhLXZhci1maXJzdC1vcmRlci1hbHQsXG4gIFwib3NpXCI6ICRmYS12YXItb3NpLFxuICBcImdvb2dsZS13YWxsZXRcIjogJGZhLXZhci1nb29nbGUtd2FsbGV0LFxuICBcImQtYW5kLWQtYmV5b25kXCI6ICRmYS12YXItZC1hbmQtZC1iZXlvbmQsXG4gIFwicGVyaXNjb3BlXCI6ICRmYS12YXItcGVyaXNjb3BlLFxuICBcImZ1bGNydW1cIjogJGZhLXZhci1mdWxjcnVtLFxuICBcImNsb3Vkc2NhbGVcIjogJGZhLXZhci1jbG91ZHNjYWxlLFxuICBcImZvcnVtYmVlXCI6ICRmYS12YXItZm9ydW1iZWUsXG4gIFwibWl6dW5pXCI6ICRmYS12YXItbWl6dW5pLFxuICBcInNjaGxpeFwiOiAkZmEtdmFyLXNjaGxpeCxcbiAgXCJzcXVhcmUteGluZ1wiOiAkZmEtdmFyLXNxdWFyZS14aW5nLFxuICBcInhpbmctc3F1YXJlXCI6ICRmYS12YXIteGluZy1zcXVhcmUsXG4gIFwiYmFuZGNhbXBcIjogJGZhLXZhci1iYW5kY2FtcCxcbiAgXCJ3cGZvcm1zXCI6ICRmYS12YXItd3Bmb3JtcyxcbiAgXCJjbG91ZHZlcnNpZnlcIjogJGZhLXZhci1jbG91ZHZlcnNpZnksXG4gIFwidXNwc1wiOiAkZmEtdmFyLXVzcHMsXG4gIFwibWVnYXBvcnRcIjogJGZhLXZhci1tZWdhcG9ydCxcbiAgXCJtYWdlbnRvXCI6ICRmYS12YXItbWFnZW50byxcbiAgXCJzcG90aWZ5XCI6ICRmYS12YXItc3BvdGlmeSxcbiAgXCJvcHRpbi1tb25zdGVyXCI6ICRmYS12YXItb3B0aW4tbW9uc3RlcixcbiAgXCJmbHlcIjogJGZhLXZhci1mbHksXG4gIFwiYXZpYXRvXCI6ICRmYS12YXItYXZpYXRvLFxuICBcIml0dW5lc1wiOiAkZmEtdmFyLWl0dW5lcyxcbiAgXCJjdXR0bGVmaXNoXCI6ICRmYS12YXItY3V0dGxlZmlzaCxcbiAgXCJibG9nZ2VyXCI6ICRmYS12YXItYmxvZ2dlcixcbiAgXCJmbGlja3JcIjogJGZhLXZhci1mbGlja3IsXG4gIFwidmliZXJcIjogJGZhLXZhci12aWJlcixcbiAgXCJzb3VuZGNsb3VkXCI6ICRmYS12YXItc291bmRjbG91ZCxcbiAgXCJkaWdnXCI6ICRmYS12YXItZGlnZyxcbiAgXCJ0ZW5jZW50LXdlaWJvXCI6ICRmYS12YXItdGVuY2VudC13ZWlibyxcbiAgXCJsZXR0ZXJib3hkXCI6ICRmYS12YXItbGV0dGVyYm94ZCxcbiAgXCJzeW1mb255XCI6ICRmYS12YXItc3ltZm9ueSxcbiAgXCJtYXhjZG5cIjogJGZhLXZhci1tYXhjZG4sXG4gIFwiZXRzeVwiOiAkZmEtdmFyLWV0c3ksXG4gIFwiZmFjZWJvb2stbWVzc2VuZ2VyXCI6ICRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyLFxuICBcImF1ZGlibGVcIjogJGZhLXZhci1hdWRpYmxlLFxuICBcInRoaW5rLXBlYWtzXCI6ICRmYS12YXItdGhpbmstcGVha3MsXG4gIFwiYmlsaWJpbGlcIjogJGZhLXZhci1iaWxpYmlsaSxcbiAgXCJlcmxhbmdcIjogJGZhLXZhci1lcmxhbmcsXG4gIFwieC10d2l0dGVyXCI6ICRmYS12YXIteC10d2l0dGVyLFxuICBcImNvdHRvbi1idXJlYXVcIjogJGZhLXZhci1jb3R0b24tYnVyZWF1LFxuICBcImRhc2hjdWJlXCI6ICRmYS12YXItZGFzaGN1YmUsXG4gIFwiNDItZ3JvdXBcIjogJGZhLXZhci00Mi1ncm91cCxcbiAgXCJpbm5vc29mdFwiOiAkZmEtdmFyLWlubm9zb2Z0LFxuICBcInN0YWNrLWV4Y2hhbmdlXCI6ICRmYS12YXItc3RhY2stZXhjaGFuZ2UsXG4gIFwiZWxlbWVudG9yXCI6ICRmYS12YXItZWxlbWVudG9yLFxuICBcInNxdWFyZS1waWVkLXBpcGVyXCI6ICRmYS12YXItc3F1YXJlLXBpZWQtcGlwZXIsXG4gIFwicGllZC1waXBlci1zcXVhcmVcIjogJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5kXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZCxcbiAgXCJwYWxmZWRcIjogJGZhLXZhci1wYWxmZWQsXG4gIFwic3VwZXJwb3dlcnNcIjogJGZhLXZhci1zdXBlcnBvd2VycyxcbiAgXCJyZXNvbHZpbmdcIjogJGZhLXZhci1yZXNvbHZpbmcsXG4gIFwieGJveFwiOiAkZmEtdmFyLXhib3gsXG4gIFwic2VhcmNoZW5naW5cIjogJGZhLXZhci1zZWFyY2hlbmdpbixcbiAgXCJ0aWt0b2tcIjogJGZhLXZhci10aWt0b2ssXG4gIFwic3F1YXJlLWZhY2Vib29rXCI6ICRmYS12YXItc3F1YXJlLWZhY2Vib29rLFxuICBcImZhY2Vib29rLXNxdWFyZVwiOiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZSxcbiAgXCJyZW5yZW5cIjogJGZhLXZhci1yZW5yZW4sXG4gIFwibGludXhcIjogJGZhLXZhci1saW51eCxcbiAgXCJnbGlkZVwiOiAkZmEtdmFyLWdsaWRlLFxuICBcImxpbmtlZGluXCI6ICRmYS12YXItbGlua2VkaW4sXG4gIFwiaHVic3BvdFwiOiAkZmEtdmFyLWh1YnNwb3QsXG4gIFwiZGVwbG95ZG9nXCI6ICRmYS12YXItZGVwbG95ZG9nLFxuICBcInR3aXRjaFwiOiAkZmEtdmFyLXR3aXRjaCxcbiAgXCJyYXZlbHJ5XCI6ICRmYS12YXItcmF2ZWxyeSxcbiAgXCJtaXhlclwiOiAkZmEtdmFyLW1peGVyLFxuICBcInNxdWFyZS1sYXN0Zm1cIjogJGZhLXZhci1zcXVhcmUtbGFzdGZtLFxuICBcImxhc3RmbS1zcXVhcmVcIjogJGZhLXZhci1sYXN0Zm0tc3F1YXJlLFxuICBcInZpbWVvXCI6ICRmYS12YXItdmltZW8sXG4gIFwibWVuZGVsZXlcIjogJGZhLXZhci1tZW5kZWxleSxcbiAgXCJ1bmlyZWdpc3RyeVwiOiAkZmEtdmFyLXVuaXJlZ2lzdHJ5LFxuICBcImZpZ21hXCI6ICRmYS12YXItZmlnbWEsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1yZW1peFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgsXG4gIFwiY2MtYW1hem9uLXBheVwiOiAkZmEtdmFyLWNjLWFtYXpvbi1wYXksXG4gIFwiZHJvcGJveFwiOiAkZmEtdmFyLWRyb3Bib3gsXG4gIFwiaW5zdGFncmFtXCI6ICRmYS12YXItaW5zdGFncmFtLFxuICBcImNtcGxpZFwiOiAkZmEtdmFyLWNtcGxpZCxcbiAgXCJ1cHdvcmtcIjogJGZhLXZhci11cHdvcmssXG4gIFwiZmFjZWJvb2tcIjogJGZhLXZhci1mYWNlYm9vayxcbiAgXCJncmlwZmlyZVwiOiAkZmEtdmFyLWdyaXBmaXJlLFxuICBcImplZGktb3JkZXJcIjogJGZhLXZhci1qZWRpLW9yZGVyLFxuICBcInVpa2l0XCI6ICRmYS12YXItdWlraXQsXG4gIFwiZm9ydC1hd2Vzb21lLWFsdFwiOiAkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQsXG4gIFwicGhhYnJpY2F0b3JcIjogJGZhLXZhci1waGFicmljYXRvcixcbiAgXCJ1c3N1bm5haFwiOiAkZmEtdmFyLXVzc3VubmFoLFxuICBcImVhcmx5YmlyZHNcIjogJGZhLXZhci1lYXJseWJpcmRzLFxuICBcInRyYWRlLWZlZGVyYXRpb25cIjogJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uLFxuICBcImF1dG9wcmVmaXhlclwiOiAkZmEtdmFyLWF1dG9wcmVmaXhlcixcbiAgXCJ3aGF0c2FwcFwiOiAkZmEtdmFyLXdoYXRzYXBwLFxuICBcInNsaWRlc2hhcmVcIjogJGZhLXZhci1zbGlkZXNoYXJlLFxuICBcImdvb2dsZS1wbGF5XCI6ICRmYS12YXItZ29vZ2xlLXBsYXksXG4gIFwidmlhZGVvXCI6ICRmYS12YXItdmlhZGVvLFxuICBcImxpbmVcIjogJGZhLXZhci1saW5lLFxuICBcImdvb2dsZS1kcml2ZVwiOiAkZmEtdmFyLWdvb2dsZS1kcml2ZSxcbiAgXCJzZXJ2aWNlc3RhY2tcIjogJGZhLXZhci1zZXJ2aWNlc3RhY2ssXG4gIFwic2ltcGx5YnVpbHRcIjogJGZhLXZhci1zaW1wbHlidWlsdCxcbiAgXCJiaXRidWNrZXRcIjogJGZhLXZhci1iaXRidWNrZXQsXG4gIFwiaW1kYlwiOiAkZmEtdmFyLWltZGIsXG4gIFwiZGVlemVyXCI6ICRmYS12YXItZGVlemVyLFxuICBcInJhc3BiZXJyeS1waVwiOiAkZmEtdmFyLXJhc3BiZXJyeS1waSxcbiAgXCJqaXJhXCI6ICRmYS12YXItamlyYSxcbiAgXCJkb2NrZXJcIjogJGZhLXZhci1kb2NrZXIsXG4gIFwic2NyZWVucGFsXCI6ICRmYS12YXItc2NyZWVucGFsLFxuICBcImJsdWV0b290aFwiOiAkZmEtdmFyLWJsdWV0b290aCxcbiAgXCJnaXR0ZXJcIjogJGZhLXZhci1naXR0ZXIsXG4gIFwiZC1hbmQtZFwiOiAkZmEtdmFyLWQtYW5kLWQsXG4gIFwibWljcm9ibG9nXCI6ICRmYS12YXItbWljcm9ibG9nLFxuICBcImNjLWRpbmVycy1jbHViXCI6ICRmYS12YXItY2MtZGluZXJzLWNsdWIsXG4gIFwiZ2ctY2lyY2xlXCI6ICRmYS12YXItZ2ctY2lyY2xlLFxuICBcInBpZWQtcGlwZXItaGF0XCI6ICRmYS12YXItcGllZC1waXBlci1oYXQsXG4gIFwia2lja3N0YXJ0ZXIta1wiOiAkZmEtdmFyLWtpY2tzdGFydGVyLWssXG4gIFwieWFuZGV4XCI6ICRmYS12YXIteWFuZGV4LFxuICBcInJlYWRtZVwiOiAkZmEtdmFyLXJlYWRtZSxcbiAgXCJodG1sNVwiOiAkZmEtdmFyLWh0bWw1LFxuICBcInNlbGxzeVwiOiAkZmEtdmFyLXNlbGxzeSxcbiAgXCJzYXNzXCI6ICRmYS12YXItc2FzcyxcbiAgXCJ3aXJzaW5kaGFuZHdlcmtcIjogJGZhLXZhci13aXJzaW5kaGFuZHdlcmssXG4gIFwid3NoXCI6ICRmYS12YXItd3NoLFxuICBcImJ1cm9tb2JlbGV4cGVydGVcIjogJGZhLXZhci1idXJvbW9iZWxleHBlcnRlLFxuICBcInNhbGVzZm9yY2VcIjogJGZhLXZhci1zYWxlc2ZvcmNlLFxuICBcIm9jdG9wdXMtZGVwbG95XCI6ICRmYS12YXItb2N0b3B1cy1kZXBsb3ksXG4gIFwibWVkYXBwc1wiOiAkZmEtdmFyLW1lZGFwcHMsXG4gIFwibnM4XCI6ICRmYS12YXItbnM4LFxuICBcInBpbnRlcmVzdC1wXCI6ICRmYS12YXItcGludGVyZXN0LXAsXG4gIFwiYXBwZXJcIjogJGZhLXZhci1hcHBlcixcbiAgXCJmb3J0LWF3ZXNvbWVcIjogJGZhLXZhci1mb3J0LWF3ZXNvbWUsXG4gIFwid2F6ZVwiOiAkZmEtdmFyLXdhemUsXG4gIFwiY2MtamNiXCI6ICRmYS12YXItY2MtamNiLFxuICBcInNuYXBjaGF0XCI6ICRmYS12YXItc25hcGNoYXQsXG4gIFwic25hcGNoYXQtZ2hvc3RcIjogJGZhLXZhci1zbmFwY2hhdC1naG9zdCxcbiAgXCJmYW50YXN5LWZsaWdodC1nYW1lc1wiOiAkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzLFxuICBcInJ1c3RcIjogJGZhLXZhci1ydXN0LFxuICBcIndpeFwiOiAkZmEtdmFyLXdpeCxcbiAgXCJzcXVhcmUtYmVoYW5jZVwiOiAkZmEtdmFyLXNxdWFyZS1iZWhhbmNlLFxuICBcImJlaGFuY2Utc3F1YXJlXCI6ICRmYS12YXItYmVoYW5jZS1zcXVhcmUsXG4gIFwic3VwcGxlXCI6ICRmYS12YXItc3VwcGxlLFxuICBcIndlYmZsb3dcIjogJGZhLXZhci13ZWJmbG93LFxuICBcInJlYmVsXCI6ICRmYS12YXItcmViZWwsXG4gIFwiY3NzM1wiOiAkZmEtdmFyLWNzczMsXG4gIFwic3RheWxpbmtlZFwiOiAkZmEtdmFyLXN0YXlsaW5rZWQsXG4gIFwia2FnZ2xlXCI6ICRmYS12YXIta2FnZ2xlLFxuICBcInNwYWNlLWF3ZXNvbWVcIjogJGZhLXZhci1zcGFjZS1hd2Vzb21lLFxuICBcImRldmlhbnRhcnRcIjogJGZhLXZhci1kZXZpYW50YXJ0LFxuICBcImNwYW5lbFwiOiAkZmEtdmFyLWNwYW5lbCxcbiAgXCJnb29kcmVhZHMtZ1wiOiAkZmEtdmFyLWdvb2RyZWFkcy1nLFxuICBcInNxdWFyZS1naXRcIjogJGZhLXZhci1zcXVhcmUtZ2l0LFxuICBcImdpdC1zcXVhcmVcIjogJGZhLXZhci1naXQtc3F1YXJlLFxuICBcInNxdWFyZS10dW1ibHJcIjogJGZhLXZhci1zcXVhcmUtdHVtYmxyLFxuICBcInR1bWJsci1zcXVhcmVcIjogJGZhLXZhci10dW1ibHItc3F1YXJlLFxuICBcInRyZWxsb1wiOiAkZmEtdmFyLXRyZWxsbyxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jLWpwXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCxcbiAgXCJnZXQtcG9ja2V0XCI6ICRmYS12YXItZ2V0LXBvY2tldCxcbiAgXCJwZXJieXRlXCI6ICRmYS12YXItcGVyYnl0ZSxcbiAgXCJncnVudFwiOiAkZmEtdmFyLWdydW50LFxuICBcIndlZWJseVwiOiAkZmEtdmFyLXdlZWJseSxcbiAgXCJjb25uZWN0ZGV2ZWxvcFwiOiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wLFxuICBcImxlYW5wdWJcIjogJGZhLXZhci1sZWFucHViLFxuICBcImJsYWNrLXRpZVwiOiAkZmEtdmFyLWJsYWNrLXRpZSxcbiAgXCJ0aGVtZWNvXCI6ICRmYS12YXItdGhlbWVjbyxcbiAgXCJweXRob25cIjogJGZhLXZhci1weXRob24sXG4gIFwiYW5kcm9pZFwiOiAkZmEtdmFyLWFuZHJvaWQsXG4gIFwiYm90c1wiOiAkZmEtdmFyLWJvdHMsXG4gIFwiZnJlZS1jb2RlLWNhbXBcIjogJGZhLXZhci1mcmVlLWNvZGUtY2FtcCxcbiAgXCJob3JuYmlsbFwiOiAkZmEtdmFyLWhvcm5iaWxsLFxuICBcImpzXCI6ICRmYS12YXItanMsXG4gIFwiaWRlYWxcIjogJGZhLXZhci1pZGVhbCxcbiAgXCJnaXRcIjogJGZhLXZhci1naXQsXG4gIFwiZGV2XCI6ICRmYS12YXItZGV2LFxuICBcInNrZXRjaFwiOiAkZmEtdmFyLXNrZXRjaCxcbiAgXCJ5YW5kZXgtaW50ZXJuYXRpb25hbFwiOiAkZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsLFxuICBcImNjLWFtZXhcIjogJGZhLXZhci1jYy1hbWV4LFxuICBcInViZXJcIjogJGZhLXZhci11YmVyLFxuICBcImdpdGh1YlwiOiAkZmEtdmFyLWdpdGh1YixcbiAgXCJwaHBcIjogJGZhLXZhci1waHAsXG4gIFwiYWxpcGF5XCI6ICRmYS12YXItYWxpcGF5LFxuICBcInlvdXR1YmVcIjogJGZhLXZhci15b3V0dWJlLFxuICBcInNreWF0bGFzXCI6ICRmYS12YXItc2t5YXRsYXMsXG4gIFwiZmlyZWZveC1icm93c2VyXCI6ICRmYS12YXItZmlyZWZveC1icm93c2VyLFxuICBcInJlcGx5ZFwiOiAkZmEtdmFyLXJlcGx5ZCxcbiAgXCJzdXNlXCI6ICRmYS12YXItc3VzZSxcbiAgXCJqZW5raW5zXCI6ICRmYS12YXItamVua2lucyxcbiAgXCJ0d2l0dGVyXCI6ICRmYS12YXItdHdpdHRlcixcbiAgXCJyb2Nrcm1zXCI6ICRmYS12YXItcm9ja3JtcyxcbiAgXCJwaW50ZXJlc3RcIjogJGZhLXZhci1waW50ZXJlc3QsXG4gIFwiYnVmZmVyXCI6ICRmYS12YXItYnVmZmVyLFxuICBcIm5wbVwiOiAkZmEtdmFyLW5wbSxcbiAgXCJ5YW1tZXJcIjogJGZhLXZhci15YW1tZXIsXG4gIFwiYnRjXCI6ICRmYS12YXItYnRjLFxuICBcImRyaWJiYmxlXCI6ICRmYS12YXItZHJpYmJibGUsXG4gIFwic3R1bWJsZXVwb24tY2lyY2xlXCI6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlLFxuICBcImludGVybmV0LWV4cGxvcmVyXCI6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIsXG4gIFwic3R1YmJlclwiOiAkZmEtdmFyLXN0dWJiZXIsXG4gIFwidGVsZWdyYW1cIjogJGZhLXZhci10ZWxlZ3JhbSxcbiAgXCJ0ZWxlZ3JhbS1wbGFuZVwiOiAkZmEtdmFyLXRlbGVncmFtLXBsYW5lLFxuICBcIm9sZC1yZXB1YmxpY1wiOiAkZmEtdmFyLW9sZC1yZXB1YmxpYyxcbiAgXCJvZHlzZWVcIjogJGZhLXZhci1vZHlzZWUsXG4gIFwic3F1YXJlLXdoYXRzYXBwXCI6ICRmYS12YXItc3F1YXJlLXdoYXRzYXBwLFxuICBcIndoYXRzYXBwLXNxdWFyZVwiOiAkZmEtdmFyLXdoYXRzYXBwLXNxdWFyZSxcbiAgXCJub2RlLWpzXCI6ICRmYS12YXItbm9kZS1qcyxcbiAgXCJlZGdlLWxlZ2FjeVwiOiAkZmEtdmFyLWVkZ2UtbGVnYWN5LFxuICBcInNsYWNrXCI6ICRmYS12YXItc2xhY2ssXG4gIFwic2xhY2staGFzaFwiOiAkZmEtdmFyLXNsYWNrLWhhc2gsXG4gIFwibWVkcnRcIjogJGZhLXZhci1tZWRydCxcbiAgXCJ1c2JcIjogJGZhLXZhci11c2IsXG4gIFwidHVtYmxyXCI6ICRmYS12YXItdHVtYmxyLFxuICBcInZhYWRpblwiOiAkZmEtdmFyLXZhYWRpbixcbiAgXCJxdW9yYVwiOiAkZmEtdmFyLXF1b3JhLFxuICBcInNxdWFyZS14LXR3aXR0ZXJcIjogJGZhLXZhci1zcXVhcmUteC10d2l0dGVyLFxuICBcInJlYWN0ZXVyb3BlXCI6ICRmYS12YXItcmVhY3RldXJvcGUsXG4gIFwibWVkaXVtXCI6ICRmYS12YXItbWVkaXVtLFxuICBcIm1lZGl1bS1tXCI6ICRmYS12YXItbWVkaXVtLW0sXG4gIFwiYW1pbGlhXCI6ICRmYS12YXItYW1pbGlhLFxuICBcIm1peGNsb3VkXCI6ICRmYS12YXItbWl4Y2xvdWQsXG4gIFwiZmxpcGJvYXJkXCI6ICRmYS12YXItZmxpcGJvYXJkLFxuICBcInZpYWNvaW5cIjogJGZhLXZhci12aWFjb2luLFxuICBcImNyaXRpY2FsLXJvbGVcIjogJGZhLXZhci1jcml0aWNhbC1yb2xlLFxuICBcInNpdHJveFwiOiAkZmEtdmFyLXNpdHJveCxcbiAgXCJkaXNjb3Vyc2VcIjogJGZhLXZhci1kaXNjb3Vyc2UsXG4gIFwiam9vbWxhXCI6ICRmYS12YXItam9vbWxhLFxuICBcIm1hc3RvZG9uXCI6ICRmYS12YXItbWFzdG9kb24sXG4gIFwiYWlyYm5iXCI6ICRmYS12YXItYWlyYm5iLFxuICBcIndvbGYtcGFjay1iYXR0YWxpb25cIjogJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uLFxuICBcImJ1eS1uLWxhcmdlXCI6ICRmYS12YXItYnV5LW4tbGFyZ2UsXG4gIFwiZ3VscFwiOiAkZmEtdmFyLWd1bHAsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzLFxuICBcInN0cmF2YVwiOiAkZmEtdmFyLXN0cmF2YSxcbiAgXCJlbWJlclwiOiAkZmEtdmFyLWVtYmVyLFxuICBcImNhbmFkaWFuLW1hcGxlLWxlYWZcIjogJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmLFxuICBcInRlYW1zcGVha1wiOiAkZmEtdmFyLXRlYW1zcGVhayxcbiAgXCJwdXNoZWRcIjogJGZhLXZhci1wdXNoZWQsXG4gIFwid29yZHByZXNzLXNpbXBsZVwiOiAkZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGUsXG4gIFwibnV0cml0aW9uaXhcIjogJGZhLXZhci1udXRyaXRpb25peCxcbiAgXCJ3b2R1XCI6ICRmYS12YXItd29kdSxcbiAgXCJnb29nbGUtcGF5XCI6ICRmYS12YXItZ29vZ2xlLXBheSxcbiAgXCJpbnRlcmNvbVwiOiAkZmEtdmFyLWludGVyY29tLFxuICBcInpoaWh1XCI6ICRmYS12YXItemhpaHUsXG4gIFwia29ydnVlXCI6ICRmYS12YXIta29ydnVlLFxuICBcInBpeFwiOiAkZmEtdmFyLXBpeCxcbiAgXCJzdGVhbS1zeW1ib2xcIjogJGZhLXZhci1zdGVhbS1zeW1ib2wsXG4pO1xuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYXIsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnI3sgJGZhLXN0eWxlLWZhbWlseSB9JztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhcyxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xpZCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvLyBIb2xkcyBhbGwgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0ZW1wbGF0ZSwgdGhlc2UgdmFyaWFibGVzIGFsc28gZ2V0IGluamVjdGVkIGludG8gZm91bmRhdGlvbidzIHNldHRpbmdzLlxyXG4vLyBVc2VkIGZvciBjb25zdHJ1Y3RpbmcgdXJscy5cclxuJHNpdGU6ICcnICFkZWZhdWx0OyBcclxuXHJcblxyXG5cclxuQGlmICRkZWJ1ZyB7XHJcbiAgICBAZGVidWcgQ29tcGlsaW5nIHNhc3MgZm9yICRzaXRlIDtcclxufVxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIHRoaXMgaXMgbXkgaW50aWlhbCBhdHRlbXB0IGF0IG1ha2luZyBzdXJlIGhvdmVyIGJhY2tncm91bmQgc3RhdGVzIGRvbnQgY29uZmxpY3Qgd2l0aCB0aGUgdGV4dCBjb2xvdXIuXHJcbiRjb250cmFjdC1jaGVja2VyLWNvbG91ci1mYWxsYmFja3M6ICRjb2xvdXIxLCAkY29sb3VyMiwgJGNvbG91cjMsICRjb2xvdXI0LCAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gRGVzY3JlYXNlIGlmIHlvdSB3YW50IGxlc3Mgc2Vuc2l0aXZpdHkgYnV0IGNvbnRlbnQgbWF5IGJlY29tZSBpbGxlZ2libGUuXHJcbiRjb250cmFzdC1jaGVja2VyLXJhdGlvLXRocmVzaG9sZDogMi4yICFkZWZhdWx0O1xyXG4vLyBBZGRlZCBib3JkZXIgcmFkaXVzIHRvIHRoaW5ncyBsaWtlIGJ1dHRvbnMgKyBuYXZpZ2F0aW9uLlxyXG4kc21vb3RoLWVkZ2VzLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kc21vb3RoLWVkZ2VzLWxldmVsOiAxNXB4ICFkZWZhdWx0O1xyXG4vLyBHbG9iYWwgSW1hZ2Ugc2V0dGluZ3MgKCBMaXN0aW5nIHBhZ2VzICYgdGFibGVzICkuXHJcbiR0YWJsZS1pbWFnZS1zaXplOiAxMzJweCAhZGVmYXVsdDtcclxuJGdyaWQtaW1hZ2Utc2l6ZTogMjMwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIEdsb2JhbCBQYWdlIFNldHRpbmdzIC0tLS0tIFxyXG4vLyBDb250YWluZWQgY29udGVudCBtYXggd2lkdGguXHJcbiRnbG9iYWwtd2lkdGg6IDEzMDBweCAhZGVmYXVsdDtcclxuLy8gVW5jb250YWluZWQgY29udGVudCBtYXggd2lkdGggKCBpLmUgZnVsbCB3aWR0aCApIHRoaXMgaXMgZXhjbHVkaW5nIGFueXRoaW5nIG91dHNpZGUgb2YgYSAuZ3JpZC14ICggZS5nIHN0aWNrIGVsZW1lbnRzLCA8aGVhZGVyPiwgPGZvb3Rlcj4gKSBrZWVwIGluIG1pbmQgMmsgJiA0ayBtb25pdG9ycyB3aGVuIGFkanVzdGluZyB0aGlzLlxyXG4kZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAxOTIwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBYWSBHcmlkXHJcbiRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIE1haW4gKyBmb290ZXIgc2V0dGluZ3MuXHJcbiRwYWdlLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUeXBvZ3JhcGh5IC0tLS0tIFxyXG4kYm9keS1mb250LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpICFkZWZhdWx0O1xyXG4kYm9keS1jb3B5LW1heC13aWR0aDogODUwcHggIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7IFxyXG4kZGVmYXVsdC11bmxpbmUtY29sb3VyczogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDsgLy8gSGFuZGxlcyB3ZWlnaHQgZm9yIGxhYmVsICsgdmFsdWUgcGFpciAoIGkuZSB0YWJsZXMgbW9iaWxlLCB2aWV3IG9yZGVyIHN1bW1hcnkgcGFuZXMgKVxyXG4kY29tbW9uLXJ1bGUtY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kY29tbW9uLXJ1bGUtd2VpZ2h0OiAxcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkaW5ncyAtLS1cclxuJGhlYWRpbmctcnVsZS1jb2xvdXI6ICRjb21tb24tcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0OyAvLyBJZiB1c2luZyBhIGRpZmZlcmVudCBmb250IGZvciBoZWFkaW5ncyB0aGVuIHlvdSBtYXkgbmVlZCB0byBhZGp1c3QgdGhlIGxpbmUtaGVpZ2h0LlxyXG4kaGVhZGluZy1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHBhZ2UtaGVhZGluZy11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcbiRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDogJGNvbW1vbi1ydWxlLXdlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1tYXJnaW46IDAgMCAyNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1ydWxlLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMjUsXHJcbiAgICBwcmVzZXQtMjogMzFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS11bmRlcmxpbmU6IChcclxuICAgIHByZXNldC0xOiAkcGFnZS1oZWFkaW5nLXVuZGVybGluZSxcclxuICAgIHByZXNldC0yOiAkcGFnZS1oZWFkaW5nLXVuZGVybGluZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDYwMCxcclxuICAgIHByZXNldC0yOiAzMDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS10ZXh0LWFsaWduOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm06ICggXHJcbiAgICBwcmVzZXQtMTogbm9uZSxcclxuICAgIHByZXNldC0yOiBub25lXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1czogKFxyXG4gICAgcHJlc2V0LTE6IDAsXHJcbiAgICBwcmVzZXQtMjogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IDIwLFxyXG4gICAgcHJlc2V0LTI6IDIwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAxOFxyXG4pICAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBwcmVzZXQtMTogNzAwLFxyXG4gICAgcHJlc2V0LTI6IDcwMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTI6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJvcmRlci1ib3R0b206IDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiByZ2JhKCRjb2xvdXI0LTEsIDAuMSksXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjQtNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6ICgwIDAgMjVweCwgMCAwIDUwcHgpLFxyXG4gICAgcHJlc2V0LTI6ICgwLCAwKSxcclxuICAgIHByZXNldC0zOiAwIDAgMjBweCxcclxuICAgIHByZXNldC00OiAoMCAwIDE1cHgsIDAgMCA1MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiAxNXB4IDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgcHJlc2V0LTE6IG5vbmUsXHJcbiAgICBwcmVzZXQtMjogbm9uZSxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi10ZXh0LWFsaWduOiAoXHJcbiAgICBwcmVzZXQtMTogY2VudGVyLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSlcclxuKTtcclxuJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTQ6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXdvcmQtc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6IG5vcm1hbCxcclxuICAgIHByZXNldC0yOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtMzogbm9ybWFsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItbGluZS1oZWlnaHQ6IGlmKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCwkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQsMS41KSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KSxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTMpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDYwMCxcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMylcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAwLFxyXG4gICAgcHJlc2V0LTI6IDAgMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtMjogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy00LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRpbmctNi1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4vLyAtLS0gQnVsbGV0IHBvaW5kdHMgLS0tXHJcbiRidWxsZXQtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kYnVsbGV0LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRidWxsZXQtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYXJhZ3JhcGggLS0tIFxyXG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0gUHJpY2UgLS0tXHJcbiRwcmljZS1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRwcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJpY2UtbGlzdC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJHByaWNlLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcmljZS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAkcHJpY2UtZm9udC13ZWlnaHQgaXMgdGhlIG9sZCB2YXJpYWJsZSB3ZSB1c2VkIHRpbGwgd2UgbmVlZGVkIHRvIHNwbGl0IHZhbHVlIHdpdGggbGFiZWwuXHJcbiRwcmljZS1sYWJlbC1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJpY2UtdmFsdWUtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gUlJQIC0tLVxyXG4kcnJwLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRycnAtZm9udC1zaXplOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcnJwLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRycnAtc3RyaWtlOiB0cnVlICFkZWZhdWx0O1xyXG4kcnJwLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTYXZpbmcgLS0tIFxyXG4kc2F2aW5ncy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc2F2aW5nLWZvbnQtc2l6ZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHNhdmluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc2F2aW5nLXN0cmlrZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzYXZpbmdzLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIFByaWNlIC0tLSBcclxuJHBhY2stcHJpY2UtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBTaXplIC0tLVxyXG4kcGFjay1zaXplLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgSXRlbSBTaXplIC0tLSBcclxuJHBhY2staXRlbS1zaXplLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIENvZGUgLS0tIFxyXG4kY29kZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBJY29ucyAtLS0tLSBcclxuLy8gLS0tIFNvY2lhbCAtLS1cclxuLy8gVGhlc2UgYXJlIGZyb20gdGhlIGZyb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJHNvY2lhbC1pY29uczogKFxyXG4gICAgZmFjZWJvb2s6ICdcXGYzOWUnLFxyXG4gICAgdHdpdHRlcjogJ1xcZTYxYicsXHJcbiAgICBpbnN0YWdyYW06ICdcXGYxNmQnLFxyXG4gICAgbGlua2VkSW46ICdcXGYwZTEnLFxyXG4gICAgeW91dHViZTogJ1xcZjE2NycsXHJcbiAgICBlbWFpbDogJ1xcZjFkOCcsXHJcbiAgICBnb29nbGUtcGx1czogJ1xcZjBkNScsXHJcbiAgICBzaGFyZTogJ1xcZjFlMCdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWxlIC0tLVxyXG4kZmlsZS1pY29ucy1zaXplOiAyNnB4ICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpICFkZWZhdWx0O1xyXG4kZmlsZS1hdHRhY2htZW50LXBhZGRpbmc6IDEwcHggNXB4ICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4vLyBUeXBpY2FsbHkgZnJvbSB0aGUgZm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRmaWxlLXR5cGUtaWNvbnM6IChcclxuICAgIGJyb2NodXJlOiAnXFxmMTVjJyxcclxuICAgIHVzZXItZ3VpZGU6ICdcXGYxNWInLFxyXG4gICAgcGFydHMtZGlhZ3JhbTogJ1xcZjE1YycsXHJcbiAgICB3b3JkOiAnXFxmMWMyJyxcclxuICAgIHBvd2VycG9pbnQ6ICdcXGYxYzQnLFxyXG4gICAgZXhjZWw6ICdcXGYxYzMnLFxyXG4gICAgcGRmOiAnXFxmMWMxJyxcclxuICAgIGNzdjogJ1xcZjZkZCcsXHJcbiAgICBpbWFnZTogJ1xcZjFjNScsXHJcbiAgICB2aWRlbzogJ1xcZjFjOCcsXHJcbiAgICB1bmtub3duOiAnXFxmMTViJyxcclxuICAgIHppcDogJ1xcZjFjNidcclxuKSAhZGVmYXVsdDtcclxuLy8gRmlsZSBJY29uIENvbG91cnNcclxuJGZpbGUtaWNvbnMtY29sb3VyczogKFxyXG4gICAgYnJvY2h1cmU6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICB1c2VyLWd1aWRlOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgcGFydHMtZGlhZ3JhbTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHdvcmQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMCksXHJcbiAgICBwb3dlcnBvaW50OiAkY29sb3VyNi0xLFxyXG4gICAgZXhjZWw6ICRjb2xvdXI0LFxyXG4gICAgcGRmOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgY3N2OiByZ2JhKCRjb2xvdXI0LCAwLjkpLFxyXG4gICAgaW1hZ2U6ICRjb2xvdXIzLTMsXHJcbiAgICB2aWRlbzogJGNvbG91cjMtNixcclxuICAgIHVua25vd246ICRjb2xvdXI0LTcsXHJcbiAgICB6aXA6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2l0ZSB3aWRlIGljb25zIC0tLSBcclxuXHJcbiRjaGV2cm9uLWljb25zOiAoXHJcbiAgICB1cDogJ1xcZjA3NycsXHJcbiAgICByaWdodDogJ1xcZjA1NCcsXHJcbiAgICBkb3duOiAnXFxmMDc4JyxcclxuICAgIGxlZnQ6ICdcXGYwNTMnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGZyb20gdGhlIGZvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kZGVmYXVsdC1zaXRlLWljb25zOiAoXHJcbiAgICBpbWFnZS0zNjA6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJzNkaWNvbi5zdmcnLFxyXG4gICAgY2FyZC1wYXltZW50OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdjYXJkLXBheW1lbnQuc3ZnJyxcclxuICAgIHBheXBhbDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAncGF5cGFsLnN2ZycsXHJcbiAgICBnb29nbGUtcGF5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdnb29nbGUtcGF5LnN2ZycsXHJcbiAgICBhcHBseS1wYXk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2FwcGx5LXBheS5zdmcnLFxyXG4gICAgZGlyZWN0LWRlYml0OiAnXFxFODRFJyxcclxuICAgIGVubGFyZ2U6ICdcXGYzMWUnLFxyXG4gICAgYmFza2V0LWljb246ICdcXGYyOTEnLFxyXG4gICAgYmFza2V0LXdhcm5pbmc6ICdcXEU4MTEnLFxyXG4gICAgYmFza2V0LWFsZXJ0OiAnXFxFODEyJyxcclxuICAgIGJhc2tldC1yZW1vdmU6ICdcXGYyZWQnLFxyXG4gICAgYmFza2V0LWRlbGl2ZXJ5OiAnXFxmMGQxJyxcclxuICAgIGJhc2tldC12YXQ6ICdcXGYyOTUnLFxyXG4gICAgYmFza2V0LXZvdWNoZXI6ICdcXGYwMmMnLFxyXG4gICAgdXBkYXRlOiAnXFxmMDIxJyxcclxuICAgIHpvb20taW46ICdcXGYwMGUnLFxyXG4gICAgem9vbS1vdXQ6ICdcXGYwMTAnLFxyXG4gICAgc3VjY2VzczogJ1xcZjAwYycsXHJcbiAgICB3YXJuaW5nOiAnXFxmMDcxJyxcclxuICAgIGFsZXJ0OiAnXFxmMDZhJyxcclxuICAgIHVua25vd246ICdcXGYwNTknLFxyXG4gICAgY2FuY2VsbGVkOiAnXFxmMjhkJyxcclxuICAgIGluLXByb2dyZXNzOiAnXFxmMTEwJyxcclxuICAgIHNlYXJjaDogJ1xcZjAwMicsXHJcbiAgICBlbWFpbDogJ1xcZjBlMCcsXHJcbiAgICB0ZWxlcGhvbmU6ICdcXGY4NzknLFxyXG4gICAgZmF2b3VyaXRlcy1kZWZhdWx0OiAnXFxmMDA0JyxcclxuICAgIGZhdm91cml0ZXMtaG92ZXI6ICdcXGYwMDQnLFxyXG4gICAgcHJvY2VlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgY2hlY2tib3gtdGljazogJ1xcZjAwYycsXHJcbiAgICBwYXltZW50LWNhcmQ6ICdcXGYwOWQnLFxyXG4gICAgaG9tZTogJ1xcZjAxNScsIFxyXG4gICAgYmxvZzogJ1xcZjA4NicsXHJcbiAgICBuZXdzOiAnXFxmMWVhJyxcclxuICAgIGV2ZW50czogJ1xcZjA3MycsXHJcbiAgICBibG9ja3F1b3RlOiAnXFxmMTBkJyxcclxuICAgIGluZm86ICdcXGYxMjknLFxyXG4gICAgaW5mby1jaXJjbGU6ICdcXGYwNWEnLFxyXG4gICAgbm8tYWNjZXNzOiAnXFxmMDIzJyxcclxuICAgIGVkaXQ6ICdcXGYwNDQnLFxyXG4gICAgcGFzc3dvcmQtcmV2ZWFsOiAnXFxmMDZlJyxcclxuICAgIGNsb3NlLWJ1dHRvbjogJ1xcZjAwZCcsXHJcbiAgICBxdWFudGl0eS1zZWxlY3Rvci1pbmNyZW1lbnQ6ICdcXGYwNjgnLFxyXG4gICAgcXVhbnRpdHktc2VsZWN0b3ItZGVjcmVtZW50OiAnXFxmMDY3JyxcclxuICAgIGJhbjogJ1xcZjA1ZScsXHJcbiAgICBoYW1idXJnZXI6ICdcXGYwYzknLFxyXG4gICAgbWFpbDogJ1xcZjFkOCcsXHJcbiAgICByYXRpbmc6ICdcXGYwMDUnLFxyXG4gICAgYmFjay10by10b3A6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIG1lZ2EtbWVudS1saW5rLWljb246IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIG1lbnUtY2xvc2U6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgbWVudS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91czogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBjYXJvdXNlbC1jb250cm9scy1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBhdXRvLWNvbXBsZXRlLXZpZXctYWxsOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBzb2gtMDogJ1xcZjAwZCcsXHJcbiAgICBzb2gtMTogJ1xcZjAwYycsXHJcbiAgICBzb2gtMjogJ1xcZjAwYycsXHJcbiAgICBzdG9jay1ub3RpZmljYXRpb24taWNvbjogJ1xcZjBmMycsXHJcbiAgICBzdG9jay1ub3RpZmljYXRpb24tYWN0aXZlOiAnXFxmMGYzJyxcclxuICAgIGxpc3QtZ3JpZC12aWV3OiAnXFxmMDBhJyxcclxuICAgIGxpc3QtdGFibGUtdmlldzogJ1xcZjAwYicsXHJcbiAgICByZWFkLW1vcmUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgcmVhZC1tb3JlLWNsb3NlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBhbmNob3ItaW5kaWNhdG9yOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBicmVhZGNydW1icy1zZXBlcmF0b3I6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGxpZ2h0Ym94LXByZXY6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgbGlnaHRib3gtbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgZmlsZS11cGxvYWQ6ICdcXGY1NzQnLFxyXG4gICAgZmlsZS11cGxvYWQtcmVhZHk6ICdcXGU1YTAnLFxyXG4gICAgZmlsZS1yZW1vdmU6ICdcXGYwMGQnLFxyXG4gICAgY29sbGVjdGlvbi1vbmx5OiAnXFxFODE4JyxcclxuICAgIGFkdmFuY2VkLWZvcm0tc3VjY2VzczogJ1xcZjAwYycsXHJcbiAgICBhZHZhbmNlZC1mb3JtLWZhaWw6ICdcXGYwMGQnLFxyXG4gICAgZmlsdGVyOiAnXFxmMGIwJyxcclxuICAgIGNhbGwtcmF0aW5nLWNhbm5vdC1yYXRlOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctY2Fubm90LXJhdGUuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXVucmF0ZWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy11bnJhdGVkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy12ZXJ5LWJhZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXZlcnktYmFkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1iYWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1iYWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWF2ZXJhZ2U6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1hdmVyYWdlLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1nb29kOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctZ29vZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdmVyeS1nb29kOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdmVyeS1nb29kLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktbG93OiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1sb3cuc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1tZWRpdW06ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LW1lZGl1bS5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWhpZ2g6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWhpZ2guc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1jcml0aWNhbDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktY3JpdGljYWwuc3ZnJyxcclxuICAgIGNhbGwtYWRkLWluZm86ICdcXEU4M0MnLFxyXG4gICAgY2FsbC1yZXF1ZXN0LWFyY2hpdmU6ICdcXEU4M0InLFxyXG4gICAgY2FsbC1saXN0OiAnXFxFODM5JyxcclxuICAgIG5ldy1jYWxsOiAnXFxFODNBJyxcclxuICAgIHRhYmxlLXNvcnQtYXNjZW5kOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0YWJsZS1zb3J0LWRlc2NlbmQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgdGFibGUtcmV2ZWFsLW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRhYmxlLXJldmVhbC1jbG9zZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgbG9jYXRpb246ICdcXGYzYzUnLFxyXG4gICAgdHJlZS1tZW51LW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRyZWUtbWVudS1jbG9zZTogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICB2b3RlLXVwOiAnXFxmMTY0JyxcclxuICAgIHRhZy1yZW1vdmU6ICdcXGYwMGQnLFxyXG4gICAgdGhpcmQtcGFydHktdHJhY2tpbmc6ICdcXEU4MjcnLFxyXG4gICAgcHJpbnRlcjogJ1xcZjAyZicsXHJcbiAgICBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uOiAnXFwyYicsXHJcbiAgICBiYXJjb2RlLXNjYW5uZXItYnV0dG9uLWljb246ICdcXEU4NEQnLFxyXG4gICAgY2FsbC1zb3VyY2UtdXNlcjogJ1xcZjAwNycsXHJcbiAgICBjYWxsLXNvdXJjZS1wb3J0YWw6ICdcXGYwYWMnLFxyXG4gICAgY2FsbC1zb3VyY2UtZW1haWw6ICdcXGYwZTAnLFxyXG4gICAgY2FsbC10eXBlLWF0dGFjaG1lbnQ6ICdcXEU4MkMnLFxyXG4gICAgY2FsbC10eXBlLXByaXZhY3k6ICdcXEU4MzEnLFxyXG4gICAgY2FsbC10eXBlLXR5cGU6ICdcXEU4MUMnLFxyXG4gICAgY2FsbC10eXBlLWNsYXNzaWZpY2FpdG9uOiAnXFxFODIwJyxcclxuICAgIGNhbGwtdHlwZS1jb21wbGV0ZTogJ1xcRTgxNScsXHJcbiAgICBjYWxsLXR5cGUtY29udGFjdDogJ1xcRTgxNycsXHJcbiAgICBjYWxsLXR5cGUtY29udHJhY3Q6ICdcXEU4MUEnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRyYWN0LXR5cGU6ICdcXEU4MTknLFxyXG4gICAgY2FsbC10eXBlLWNyZWF0ZWQ6ICdcXEU4MjknLFxyXG4gICAgY2FsbC10eXBlLWRlZmVycmVkOiAnXFxFODI4JyxcclxuICAgIGNhbGwtdHlwZS1lc2NhbGF0aW9uOiAnXFxFODJGJyxcclxuICAgIGNhbGwtdHlwZS1pbXBhY3Q6ICdcXEU4MkEnLFxyXG4gICAgY2FsbC10eXBlLWluYm91bmQtcGhvbmUtY2FsbDogJ1xcRTgxRicsXHJcbiAgICBjYWxsLXR5cGUtaW5mb3JtYXRpb246ICdcXEU4MkQnLFxyXG4gICAgY2FsbC10eXBlLWxpbms6ICdcXEU4MkInLFxyXG4gICAgY2FsbC10eXBlLW91dGJvdW5kLXBob25lLWNhbGw6ICdcXEU4MkUnLFxyXG4gICAgY2FsbC10eXBlLXByaW9yaXR5OiAnXFxFODMwJyxcclxuICAgIGNhbGwtdHlwZS1yZXNwb25zaWJpbGl0eTogJ1xcRTgzMicsXHJcbiAgICBjYWxsLXR5cGUtc2hvcnRjdXQtc2VudDogJ1xcRTgzMycsXHJcbiAgICBjYWxsLXR5cGUtc2xhLWluY2x1c2lvbjogJ1xcRTgzNCcsXHJcbiAgICBjYWxsLXR5cGUtc3RhdHVzOiAnXFxFODFCJyxcclxuICAgIGNhbGwtdHlwZS11bmRlZmVycmVkOiAnXFxFODM3JyxcclxuICAgIGNhbGwtdHlwZS11cmdlbnQ6ICdcXEU4MzgnLFxyXG4gICAgY2FsbC10eXBlLXdvcmtmbG93OiAnXFxFODFEJyxcclxuICAgIGRvY3VtZW50YXRpb24tcHVibGljLXVybDogJ1xcZjBhYycsXHJcbiAgICBkb2N1bWVudGF0aW9uLXN0YXRpc3RpY3M6ICdcXGU0NzMnLFxyXG4gICAgY2xpcGJvYXJkLWNvcHk6ICdcXGYwYzUnLFxyXG4gICAgY29udGV4dC1tZW51LWVkaXQ6ICdcXGYwMTMnLFxyXG4gICAgY29udGV4dC1lZGl0LXRleHQ6ICdcXGYwNDQnLFxyXG4gICAgY29udGV4dC1lZGl0LXByb3BlcnRpZXM6ICdcXEU4NTEnLFxyXG4gICAgY29udGV4dC1tb3ZlLXVwOiAnXFxlNGMyJyxcclxuICAgIGNvbnRleHQtbW92ZS1kb3duOiAnXFxlNGI4JyxcclxuICAgIGNvbnRleHQtaW5zZXJ0LWJlZm9yZTogJ1xcRTg1MCcsXHJcbiAgICBjb250ZXh0LWluc2VydC1hZnRlcjogJ1xcRTgyNCcsXHJcbiAgICBjb250ZXh0LWRlbGV0ZTogJ1xcZjJlZCcsXHJcbiAgICBjb250ZXh0LWFjY2Vzcy1sZXZlbDogJ1xcZjVmZCcsXHJcbiAgICBjb250ZXh0LXB1Ymxpc2hlZDogJ1xcZjA5MycsXHJcbiAgICBjb250ZXh0LXByb21vdGU6ICdcXGYwM2InLFxyXG4gICAgY29udGV4dC1kZW1vdGU6ICdcXGYwM2MnLFxyXG4gICAgY29udGV4dC1tb3ZlOiAnXFxmMGIyJyxcclxuICAgIGNvbnRleHQtYXVkaXQ6ICdcXGYxZGEnLFxyXG4gICAgY21zLXBhZ2luYXRpb24tcHJldmlvdXM6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgY21zLXBhZ2luYXRpb24tbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgc2l0ZS1saXN0LWJlc3Bva2Utc2l0ZS1pY29uOiAnXFxFODIxJyxcclxuICAgIHNvZnR3YXJlLXVwZGF0ZS1kb3dubG9hZDogJ1xcZjAxOScsXHJcbiAgICBzb2Z0d2FyZS1yZWxlYXNlLWRhdGUtdGltZTogJ1xcZjAxNycsXHJcbiAgICBwcm9kdWN0LWVucXVpcnktZGVsaXZlcnktY291bnRkb3duOiAnXFxmMDE3JyxcclxuICAgIHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbjogJ1xcZjA0YicsXHJcbiAgICB2aWRlby1wbGF5ZXItcmVwbGF5LXRodW1ibmFpbC1pY29uOiAnXFxmMzYzJyxcclxuICAgIHZpZGVvLXBsYXllci1kdXJhdGlvbi1pY29uczogJ1xcZjAxNycsXHJcbiAgICBzaXRlLW1hcC1wYXJlbnQtaWNvbjogIG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGV4dGVybmFsLWxpbmstaWNvbjogJ1xcZjA4ZScsXHJcbiAgICBub24tcmV0dXJuYWJsZTogJ1xcRTg1MycsXHJcbiAgICBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQ6ICdcXGYxOTInLFxyXG4gICAgc2VsZWN0aW9uLWluY3JlbWVudDogJ1xcMmInLFxyXG4gICAgZmlsZS1kb3dubG9hZDogJ1xcZjU2ZCcsXHJcbiAgICB1bnJlYWQtc3RhdGUtb246ICdcXGYxMTEnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDcmVhdGUgZGVmYXVsdCBpY29ucyBtYXAgaWYgaXQgaGFzbid0IGJlZW4gZGVmaW5lZCBpbiBzaXRlIHNwZWNpZmljIGJyYW5kaW5nIGZpbGUuXHJcbiRzaXRlLWljb25zOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFueSBjdXN0b20gaWNvbnMgZW5hYmxlZD9cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gRmlsdGVyIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbHRlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gU2VhcmNoIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIHNlYXJjaCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gTmV3IGNhbGwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLW5ldy1jYWxsLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBuZXctY2FsbCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCBsaXN0IGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWxpc3QtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtbGlzdCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCBhZGQgaW5mbyBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1hZGQtaW5mby1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1hZGQtaW5mbyksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCByZXF1ZXN0IGFyY2hpdmUgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtcmVxdWVzdC1hcmNoaXZlLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLXJlcXVlc3QtYXJjaGl2ZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRmlsZSB1cGxvYWQgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtdXBsb2FkLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRmlsZSB1cGxvYWQgcmVhZHkuXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWxlLXJlYWR5KSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBIYW1idXJnZXJcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWhhbWJ1cmdlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgaGFtYnVyZ2VyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBCYXNrZXQgaWNvblxyXG4kc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbiksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRW1haWwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBlbWFpbCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRW1haWwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgdGVsZXBob25lKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgZWRpdCBwcm9wZXJ0aWVzLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWVkaXQtcHJvcGVydGllcy1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXByb3BlcnRpZXMpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBpbnNlcnQgYmVmb3JlXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWJlZm9yZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYmVmb3JlKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgaW5zZXJ0IGFmdGVyXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWFmdGVyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1hZnRlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gTWVyZ2UgZGVmYXVsdCBpY29ucyB3aXRoIHNpdGUgc3BlY2lmaWMgaWNvbnMgaWYgZW5hYmxlZC5cclxuJHNpdGUtaWNvbnM6IG1hcC1tZXJnZSgkZGVmYXVsdC1zaXRlLWljb25zLCAkc2l0ZS1pY29ucyk7XHJcblxyXG5cclxuLy8gLS0tIEFjY291bnQgQXJlYSBJY29ucyAtLS0gXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZnJvbSB0aGUgZm9udGVsbG8gbGlicmFyeS5cclxuJGRlZmF1bHQtYWNjb3VudC1pY29uczogKFxyXG4gICAgY2hhbmdlLWRldGFpbHM6ICdcXEU4MDEnLFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiAnXFxFODAyJyxcclxuICAgIGNvbnRyYWN0LWl0ZW1zOiAnXFxFODA2JyxcclxuICAgIHZpZXctb3JkZXJzOiAnXFxFODBFJyxcclxuICAgIGZhdm91cml0ZXM6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZhdm91cml0ZXMtZGVmYXVsdCksXHJcbiAgICByZWNlbnRseS1wdXJjaGFzZWQ6ICdcXEU4MEYnLFxyXG4gICAgbWFuYWdlLWNhcmRzOiAnXFxFODBDJyxcclxuICAgIHN0YXRlbWVudDogJ1xcRTgwNycsXHJcbiAgICBtYW5hZ2UtdXNlcnM6ICdcXEU4MEQnLFxyXG4gICAgYnJhbmNoLXN3aXRjaGVyOiAnXFxFODAwJyxcclxuICAgIGNvbnRhY3QtcHJlZmVyZW5jZXM6ICdcXEU4MDUnLFxyXG4gICAgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6ICdcXEU4MDknLFxyXG4gICAgbG9nb3V0OiAnXFxFODBBJyxcclxuICAgIGFjY291bnQ6ICdcXGYwMDcnLFxyXG4gICAgb3JkZXItdXBsb2FkOiAnXFxFODM1JyxcclxuICAgIGJhc2tldC11cGxvYWQ6ICdcXEU4MzYnLFxyXG4gICAgbWFuYWdlLWNhbGxzOiAnXFxFODFFJyxcclxuICAgIHNlcnZpY2UtY29udHJhY3RzOiAnXFxFODQwJyxcclxuICAgIGN1c3RvbWVyLWFzc2V0czogJ1xcRTgyNScsXHJcbiAgICBwYXltZW50LXJlcXVlc3RzOiAnXFxFODI2JyxcclxuICAgIGRvd25sb2FkLXByaWNlLWxpc3RzOiAnXFxFODdBJyxcclxuICAgIHNpdGUtbGlzdDogJ1xcRTgzRicsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6ICdcXEU4NDEnLFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOiAnXFxFODQyJyxcclxuICAgIG9ubGluZS1kb2N1bWVudGF0aW9uOiAnXFxFODQ0JyxcclxuICAgIGRlZmF1bHQtaWNvbjogJ1xcRTg0MycsXHJcbiAgICBzb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzOiAnXFxFODQ1JyxcclxuICAgIGVtcGxveWVlLXN0YXR1czogJ1xcRTg0QicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtc3RhcnQtd29yazogJ1xcRTg0QicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtZW5kLXdvcms6ICdcXEU4NDknLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWx1bmNoLXN0YXJ0OiAnXFxFODQ3JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sdW5jaC1lbmQ6ICdcXEU4NDYnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWFycml2aW5nOiAnXFxFODRDJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sZWF2aW5nOiAnXFxFODRBJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1zaWNrOiAnXFxFODIzJyxcclxuICAgIG1pY3Jvc29mdC1zdWJzY3JpcHRpb25zOiAnXFxmMTdhJyxcclxuICAgIGNhbGwtc3RhdGlzdGljczogJ1xcRTg1MidcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENyZWF0ZSBkZWZhdWx0IGljb25zIG1hcCBpZiBpdCBoYXNuJ3QgYmVlbiBkZWZpbmVkIGluIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgZmlsZS5cclxuJGFjY291bnQtaWNvbnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gQW55IGN1c3RvbSBpY29ucyBlbmFibGVkPyBcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBNZXJnZSBkZWZhdWx0IGljb25zIHdpdGggc2l0ZSBzcGVjaWZpYyBpY29ucyBpZiBzaXRlIHNwZWNpZmljIGljb25zIGVuYWJsZWQuXHJcbiRhY2NvdW50LWljb25zOiBtYXAtbWVyZ2UoJGRlZmF1bHQtYWNjb3VudC1pY29ucywgJGFjY291bnQtaWNvbnMpO1xyXG4vLyAtLS0tLSBJbnB1dHMgLS0tLS0gXHJcbi8vIC0tLSBHZW5lcmFsIC0tLSBcclxuJGlucHV0LWJvcmRlci1yYWRpdXM6IGlmKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCwgJHNtb290aC1lZGdlcy1sZXZlbCwgMCkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCdzZWNvbmRhcnktZm9udCcpICFkZWZhdWx0O1xyXG4kaW5wdXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAyKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA3KSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSxcclxuICAgIGFjdGl2ZTogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGFjdGl2ZS1ob3ZlcjogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgaW5wdXRcclxuJGlucHV0LWZpbGUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDcwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6IHJnYmEoJGNvbG91cjQsIC43KVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC00LFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS11cGxvYWQtaXMtcmVhZHktaWNvbi1mb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucyAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtb3V0ZXItYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aDogMi41cHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogcmdiYSgkY29sb3VyNC0xLCAuMSlcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSaWNoIFRleHQgRWRpdG9yIC0tLVxyXG4kcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW1heC1sZXZlbHM6IDUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRm9ybXMgLS0tXHJcbiRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBsZWZ0LFxyXG4gICAgbWVkaXVtOiBjZW50ZXIsXHJcbiAgICBsYXJnZTogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMjA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4vLyBTaW5nbGUgQ29sdW1uIEZvcm1zLlxyXG4kZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhlYWRpbmcgKCBoMiApXHJcbiRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTogbnVsbCAhZGVmYXVsdDtcclxuLy8gU3ViIEhlYWRpbmcgKCBoMyApXHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXNpemU6IDI0ICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpZWxkc2V0ICsgSW5wdXRzIC0tLVxyXG4kZmllbGRzZXQtaW5wdXQtaGVpZ2h0OiA0NXB4ICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaW5wdXQtcGFkZGluZzogNXB4IDAgNXB4IDI1cHggIWRlZmF1bHQ7XHJcbiRmaWVsZC13aWR0aDogKFxyXG4gICAgbW9iaWxlOiAxMDAlLFxyXG4gICAgZGVza3RvcDogNjQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLXNldC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWlucHV0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA0MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0OiA1MHB4ICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtanVzdGlmeS1jZW50ZXI6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIERlZmF1bHQgd2lkdGggd2lkdGhvdXQgYW55IGNsYXNzLlxyXG4kZmllbGRzZXQtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDE2MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaXMgbm90IGJyZWFrcG9pbnQgd2lkdGhzIGJ1dCByYXRoZXIgY2xhc3Mgc2l6ZXMgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2VcclxuJGZpZWxkLWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMzAwcHgsXHJcbiAgICBtZWRpdW06IDM1MHB4LFxyXG4gICAgbGFyZ2U6IDQ0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAwIDAgMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIExhYmVscyAtLS0gXHJcbiRsYWJlbC1pbnB1dC1nYXA6IDVweCAhZGVmYXVsdDtcclxuJGxhYmVsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBmb3JtIGNvbnRhaW5lcnMuXHJcbiRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLCBcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2x1bW4tY21zLWNvbnRlbnQtY29udGFpbmVyOiAoXHJcbiAgICBzbWFsbDogMCAxNXB4IDcuNXB4LFxyXG4gICAgbGFyZ2U6IDAgODVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gYWRkaXRpb25hbCBpbmZvLlxyXG4kYWRkaXRpb25hbC1pbmZvLWltYWdlLW1hcmdpbjogMCAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW5wdXRzIC0tLS0tXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtYm94LXNoYWRvdzogKFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3cxXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvdXI6ICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi13aWR0aDogNzBweCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWlubmVyLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2hlY2tib3hlcyAtLS1cclxuJGNoZWNrYm94LWRpbWVudGlvbnM6IDIwcHggIWRlZmF1bHQ7XHJcbiRjaGVja2JveC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlLWhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpLFxyXG4gICAgYWN0aXZlLWRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSYWRpbyBCdXR0b25zIC0tLVxyXG4kcmFkaW8tZGltZW50aW9uczogMTVweCAhZGVmYXVsdDtcclxuJHJhZGlvLWljb24tZGltZW5zaW9uczogKCRyYWRpby1kaW1lbnRpb25zIC8gMikgIWRlZmF1bHQ7XHJcbiRyYWRpby1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNlbGVjdCBEcm9wZG93bnMgLS0tXHJcbiRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC13aWR0aDogKFxyXG4gICAgc21hbGw6IDkwcHgsXHJcbiAgICBtZWRpdW06IDIxNXB4LFxyXG4gICAgbGFyZ2U6IDM0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aDogMzBweCAhZGVmYXVsdDtcclxuLy8gVE9ETzogaG92ZXIgJiBhY3RpdmUgaW1wbGVtZW50YXRpb24uXHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEFuY2hvcnMgLS0tIFxyXG4kYW5jaG9ycy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsIFxyXG4gICAgaG92ZXI6IC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCxcclxuICAgIGFjdGl2ZTogLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMFxyXG4pICFkZWZhdWx0O1xyXG4kYW5jaG9ycy10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtZm9udC13ZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb3Jnb3R0ZW4gcGFzc3dvcmQgbGluayAtLS1cclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3Nvd3JkLWFuY2hvci1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBTU08gLS0tLS1cclxuJHNzby1idXR0b24tbWljcm9zb2Z0LXRoZW1lOiAnbGlnaHQnICFkZWZhdWx0O1xyXG4kc3NvLWJ1dHRvbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDcwJSxcclxuICAgIG1lZGl1bTogMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNzby1jb21tb24tZ2FwOiAyMHB4ICFkZWZhdWx0O1xyXG4kc3NvLXNlcGVyYXRvci1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIENNUyAvIFRleHREQiBjb250ZW50IGNvbnRhaW5lciAtLS0tLVxyXG4kY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDbG9zZSBidXR0b24gLS0tLS0gXHJcbiRpY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBNb2RhbHMgLS0tLS1cclxuJG1vZGFsLWNvbnRlbnQtei1pbmRleDogMjAwMSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciAtLS1cclxuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItY21zLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItY21zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIGxhcmdlOiAzMHB4IDMwcHggLy8gQmFsYW5jaW5nIHRvcCArIGJvdHRvbSBmb3IgODUwMTc1LlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gTW9kYWwgZm9ybXMgLS0tXHJcbiRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoOiA4MCUgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogYXV0byxcclxuICAgIGxhcmdlOiAyMHB4IGF1dG8gMzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQnV0dG9ucyAtLS0tLVxyXG4vLyBDb21tb24gYnV0dG9uIHN0eWxlcyAoIHRoZXNlIGFyZSB1c2VkIG9uIG11bHRpcGxlIGJ1dHRvbnMuXHJcbiRjb21tb24tYnV0dG9uLW1hcmdpbjogKHNtYWxsOiA1cHggMTBweCwgbGFyZ2U6IDApICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDM1cHggIWRlZmF1bHQ7XHJcbi8vICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbi8vIEFzc29jaWF0ZWQgPSBidXR0b25zIHRoYXQgYXJlIGxpbmtlZCB0byBhbiBpbnB1dCAoIGkuZSBsb29rdXBzIClcclxuLy8gU3RhbmRhbG9uZSA9IGJ1dHRvbnMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGxpbmtzIHRvIGlucHV0cyAoIGkuZSBmb3JtIHN1Ym1pc3Npb25zICYgYW5jaG9ycyApXHJcbiRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXM6IChcclxuICAgIGFzc29jaWF0ZWQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUsXHJcbiAgICBzdGFuZGFsb25lOiAxNlxyXG4pICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodHM6IChcclxuICAgIGFzc29jaWF0ZWQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodCxcclxuICAgIHN0YW5kYWxvbmU6IDcwMFxyXG4pICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodDogZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXdvcmQtc3BhY2luZzogMnB4ICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZzogLjZweCAhZGVmYXVsdDtcclxuLy8gTm9ybWFsbHkgd2hlbiB5b3Ugc2V0IHVwcGVyY2FzZSBhbmQgZm9udCB0byBib2xkIHlvdSB3aWxsIHdhbnQgdG8gaW5jcmVhc2UgdGhlIGxldHRlciBzcGFjaW5nIGZvciBsZWdpYmlsaXR5IHJlYXNvbnMgKCB0aGlzIGlzIG9idmlvdXNseSBkZXBlbmRhbnQgb24gdGhlIGZvbnQgZmFtaWx5IGJlaW5nIHVzZWQgKVxyXG4kY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZy11cHBlcmNhc2UtYm9sZDogKCRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nICogMikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gUHJpbWFyeSBidXR0b24gc3R5bGVzLlxyXG4kcHJpbWFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBsaWdodGVuKGRlc2F0dXJhdGUoYWRqdXN0LWh1ZSgkY29sb3VyNC0xLCAtNyUpLCA0JSksIDQ0JSksXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gU2Vjb25kYXJ5IGJ1dHRvbiBzdHlsZXMuXHJcbiRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHNlY29uZGFyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJHNlY29uZGFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6IGxpZ2h0ZW4oZGVzYXR1cmF0ZShhZGp1c3QtaHVlKCRjb2xvdXI0LTEsIC03JSksIDQlKSwgNDQlKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRlcnRpYXJ5IGJ1dHRvbiBzdHlsZXNcclxuJHRlcnRpYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyR0ZXJ0aWFyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJHRlcnRpYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gUXVhdGVybmFyeSBidXR0b24gc3R5bGVzXHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1wYWRkaW5nOiAzLjVweCAxNnB4ICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8kcXVhdGVybmFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBRdWluYXJ5IGJ1dHRvbiBcclxuJHF1aW5hcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHF1aW5hcnktYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vJHF1aW5hcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNC00LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdlbmVyaWMgY21zIGJ1dHRvbiBcclxuJGNtcy1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kY21zLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kY21zLWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG9yKCRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgYW5jaG9yIHByb2NlZWQgYnV0dG9uLlxyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybTogJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbi8vIExvY2F0aW9uIGJ1dHRvbiAgKCBzdG9ja2lzdCApXHJcbiRsb2NhdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRsb2NhdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGxvY2F0aW9uLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWNpdHZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBCYXJjb2RlIHNjYW5uZXIgdG9nZ2xlIGJ1dHRvbi5cclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYm9yZGVyLWNvbG91ci1kZXNrdG9wOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFyY29kZS1zY2FubmVyLWJ1dHRvbi1pY29uKSxcclxuICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgIG1hcmdpbjogMCAwIDAgMTVweCxcclxuICAgIGNvbG91cjogKFxyXG4gICAgICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciksXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjFcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucyxcclxuICAgIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFN0b2NrbGluZSBidXR0b25cclxuJHN0b2NrbGluZS1idXR0b24tcGFkZGluZzogMjBweCAxMHB4ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRzdG9ja2xpbmUtYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBOb3QgbG9nZ2VkIGluXHJcbi8vIEFkanVzdGluZyB0aGUgcGFkZGluZyB3aWxsIGNhdXNlIHRoZXNlIGJ1dHRvbnMgdG8gZ28gb3V0IG9mIHZlcnRpY2xlIGFsaWdubWVudCB3aXRoIHRoZSBidXlpbmcgZm9ybS5cclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLXBhZGRpbmc6ICRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBFbnF1aXJ5IGJ1dHRvbi5cclxuJGVucXVpcnktYnV0dG9uLXBhZGRpbmc6ICRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJGVucXVpcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBQYWdlIGFjdGlvbiBidXR0aW9uc1xyXG4vLyBEZWZhdWx0LlxyXG4kYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRhLWRlZmF1bHQtZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGEtZGVmYXVsdC1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdGF0dXMtYnV0dG9uLWNvbW1vbi13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gU3VjY2Vzcy5cclxuJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLCBcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc3VjY2Vzcy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFdhcm5pbmcuXHJcbiR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkd2FybmluZy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0LlxyXG4kYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6bWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWxlcnQtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENhbmNlbCAvIGJhY2sgYnV0dG9uXHJcbiRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGNhbmNlbC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuLy8gQWxlcnQgLyByZW1vdmUgLyBkZWxldGUgYnV0dG9uLlxyXG4kYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDTVMgYnV0dG9ucyBzdWNoIGFzIGJsb2csIG5ld3MgJiBldmVudHMuXHJcbiRjbXMtYnV0dG9uLWxpbmstY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMiksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXVuZGVybGluZTogKFxyXG4gICAgaDE6IGZhbHNlLFxyXG4gICAgaDI6IGZhbHNlLFxyXG4gICAgaDM6IGZhbHNlXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0OiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vIE5ld3MgYnV0dG9uXHJcbiRuZXdzLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gQmxvZyBidXR0b25cclxuJGJsb2ctYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBFdmVudHMgYnV0dG9uXHJcbiRldmVudHMtYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlyZCBQYXJ0eSB0cmFja2luZyBidXR0b24uXHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZzogMTBweCFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTZcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tZ3V0dGVyOiAxMnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJlcXVpcmVkIHByb21wdCAtLS1cclxuJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbWFwLWdldCgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nLCBzbWFsbCksXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LWZvbnQtc2l6ZTogMTQuNCAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHRvbXB0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE1lbnVzIC0tLS0tXHJcbi8vIENvbW1vbiBzdHlsZXMgKCB0eXBpY2FsbHkgdGhlIG1vYmlsZSBleHBpZXJhbmNlICkuXHJcbiRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4ICFkZWZhdWx0O1xyXG4vLyBIZWFkZXJcclxuJG1lbnVzLWhlYWRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbWVudXMtaGVhZGVyLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiRtZW51cy1oZWFkZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIEFjdHVhbCBtZW51c1xyXG4kbWVudXMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAkY29sb3VyMSxcclxuICAgIGxhcmdlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kbWVudS1kcm9wZG93bi1hcnJvd3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJG1lbnUtZ3JvdXAtZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMS1ib3JkZXItYm90dG9tOiAoXHJcbiAgICBzbWFsbDogMXB4IHNvbGlkICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1ib3JkZXItdG9wOiAoXHJcbiAgICBzbWFsbDogMXB4IHNvbGlkICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItbGktYm9yZGVyOiAoXHJcbiAgICBzbWFsbDogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gVmlldyBNb3JlXHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCAwIDAsXHJcbiAgICBsYXJnZTogMCAxMHB4IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vIC0tLSBUcmVlIG1lbnUgLS0tXHJcbiR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwIDEwcHggNi42NnB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMCAxMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmc6ICggXHJcbiAgICBsYXJnZTogMTBweCAwIDEwcHggNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTogMjVweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLWZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI6IDJweCBzb2xpZCAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoOiAzMHB4ICFkZWZhdWx0OyBcclxuJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplOiAoJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZSAtIDQpICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWFzc2V0cy1yb290LWxhYmVsLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRyZWUgTWVudSAoIGFzc2V0cyApIC0tLVxyXG4kdHJlZS1tZW51LWFzc2V0cy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNiAhZGVmYXVsdDtcclxuLy8gLS0tIEZ1bmN0aW9ucyBMaXN0IC0tLSBcclxuJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCA1cHggNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGZ1bmN0aW9ucy1tZW51LWFycm93LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUYWJsZXMgLS0tLS1cclxuJHRhYmxlLXByZXNldC0xLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gVGFibGUgUm93IE5vdGlmaWNhdGlvbnMgKCBNYW5hZ2UgQ2FsbHMgKSBcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGg6IChcclxuICAgIGRlZmF1bHQ6IDJweCxcclxuICAgIGhvdmVyOiA2cHhcclxuKSAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4vLyBSb3cgVG9nZ2xlLlxyXG4kdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gVGFibGUgSGVhZFxyXG4kdGhlYWQtYm9yZGVyLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiR0aGVhZC1wcmVzZXQtMTogKFxyXG4gICAgcGFkZGluZzogMCA1cHggMTBweCwgXHJcbiAgICBmb250LXNpemU6IDE1LFxyXG4gICAgZm9udC13ZWlnaHQ6IDcwMCxcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICByb3ctYm9yZGVyOiAkY29tbW9uLXJ1bGUtd2VpZ2h0IHNvbGlkICR0aGVhZC1ib3JkZXItY29sb3VyLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjAsXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIsXHJcbiAgICB0ZXh0LXRyYW5mb3JtOiBub25lXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFByaW1hcmlseSB1c2VkIGZvciB0aGUgYmFza2V0LlxyXG4kdGhlYWQtcHJlc2V0LTI6IChcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4LFxyXG4gICAgZm9udC1zaXplOiAxNCxcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAsXHJcbiAgICBjb2xvcjogJGNvbG91cjIsXHJcbiAgICByb3ctYm9yZGVyOiAkY29tbW9uLXJ1bGUtd2VpZ2h0IHNvbGlkICR0aGVhZC1ib3JkZXItY29sb3VyLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuLy8gU29ydGluZ1xyXG4kdGhlYWQtc29ydGluZy1idXR0b24taWNvbi1zaXplOiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgLSAyKTtcclxuLy8gVGFibGUgQm9keVxyXG4kdGJvZHktcm93LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KSxcclxuICAgIGhvdmVyOiAkdGhlYWQtYm9yZGVyLWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kdGJvZHktbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xyXG4kdGJvZHktcm93LWJvcmRlci1zcGFjaW5nOiAwIDEwcHggIWRlZmF1bHQ7XHJcbiR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWZvbnQtc2l6ZTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuLy8gUm93c1xyXG4vLyBTcGFjaW5nIGJldHdlZW4gcm93LCB0aGlzIGdldHMgdXNlZCBkaWZmZXJlbnRseSBkZXBlbmRpbmcgb24gd2hhdCBlZmZlY3RzIGFyZSBhcHBsaWVkIHRvIHRoZSB0YWJsZSAoIGkuZSBpZiB5b3UncmUgc2hvdyBydWxlcyBiZXR3ZWVuIHJvdyApXHJcbiR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIGZvb3RlciBzcGFjZXIuXHJcbiR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTE6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQREYgVGFibGUgQW5jaG9yc1xyXG4kcGRmLXRhYmxlLWFuY2hvci1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XHJcbi8vIE9yZGVyIFRhYmxlICggUHJpbWFybHkgdXNlZCBmb3IgYmFza2V0LCB2aWV3IG9yZGVyICYgY2hlY2tvdXQgY29tcGxldGUgKVxyXG4kb3JkZXItbW9iaWxlLXJvdy1wYWRkaW5nOiA1cHggMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiAxNTVweCxcclxuICAgIGxhcmdlOiAkdGFibGUtaW1hZ2Utc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtaW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuLy8gJG9yZGVyLXRhYmxlLWNvZGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWNvZGUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtc3ViLXRvdGFsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1zdWItdG90YWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTogODBweCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENvbXBhcmlzb24gVGFibGUgLS0tIFxyXG4kY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGg6IChcclxuICAgIHNtYWxsOiA1OCUsXHJcbiAgICBsYXJnZTogMTUlXHJcbikgIWRlZmF1bHQ7XHJcbiRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS12YWx1ZXMtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ01TIENvbnRlbnQgLS0tLS0gXHJcbiRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtY21zLWNvcHktY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJGRlZmF1bHQtY21zLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBmb250IHNpemVcclxuJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgaDE6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSArIDEwLFxyXG4gICAgaDI6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSArIDEyLFxyXG4gICAgaDM6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSArIDcsXHJcbiAgICBoNDogJHBhcmFncmFwaC1mb250LXNpemUgKyA3LFxyXG4gICAgaDU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMyxcclxuICAgIGg2OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZ3MgZm9udCB3ZWlnaHRcclxuJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBoMTogNjAwLFxyXG4gICAgaDI6IDYwMCxcclxuICAgIGgzOiA2MDAsXHJcbiAgICBoNDogNDAwLFxyXG4gICAgaDU6IDQwMCxcclxuICAgIGg2OiA0MDBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGU6IChcclxuICAgIGgxOiBub3JtYWwsXHJcbiAgICBoMjogbm9ybWFsLFxyXG4gICAgaDM6IG5vcm1hbCxcclxuICAgIGg0OiBub3JtYWwsXHJcbiAgICBoNTogbm9ybWFsLFxyXG4gICAgaDY6IG5vcm1hbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBtYXJnaW5zXHJcbiRjbXMtaGVhZGluZy1tYXJnaW46IChcclxuICAgIGgxOiAyNXB4IDAgMjBweCxcclxuICAgIGgyOiAyNXB4IDAgMjBweCxcclxuICAgIGgzOiAyNXB4IDAgMTBweCxcclxuICAgIGg0OiAyNXB4IDAgMTBweCxcclxuICAgIGg1OiAxNXB4IDAgMTBweCxcclxuICAgIGg2OiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXBhZGRpbmc6IChcclxuICAgIGgxOiBudWxsLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogMTVweCAwLFxyXG4gICAgaDQ6IDAgMCAxMHB4LFxyXG4gICAgaDU6IG51bGwsXHJcbiAgICBoNjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBjb2xvdXJzLlxyXG4kY21zLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBoMTogJGNvbG91cjQsXHJcbiAgICBoMjogJGNvbG91cjQsXHJcbiAgICBoMzogJGNvbG91cjYsXHJcbiAgICBoNDogJGNvbG91cjQsXHJcbiAgICBoNTogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyLFxyXG4gICAgaDY6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IChcclxuICAgIGgxOiBudWxsLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogbnVsbCxcclxuICAgIGg0OiBudWxsLFxyXG4gICAgaDU6IG51bGwsXHJcbiAgICBoNjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBsaW5lLWhlaWdodC5cclxuJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gUGFyYWdyYXBoXHJcbiRjbXMtcGFyYWdyYXBoLW1hcmdpbjogJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjogc3BhY2luZy12YWx1ZSgkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4sIDEpICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1saW5lLWhlaWdodDogJGRlZmF1bHQtY21zLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1jb2xvdXI6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91ciAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEFuY2hvclxyXG4kY21zLWFuY2hvci13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29udGFjdC13ZWlnaHQ6ICRjbXMtYW5jaG9yLXdlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3Itc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb250YWN0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBMaXN0cyBcclxuJGNtcy1saXN0LW1hcmdpbjogMTBweCAhZGVmYXVsdDtcclxuJGNtcy1saXN0LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1saXN0LXBhZGRpbmc6IDAgMjVweCAhZGVmYXVsdDtcclxuLy8gVGFibGVzXHJcbiRjbXMtdGFibGUtc2libGluZy1tYXJnaW46IDE1cHggMCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1oZWFkZXItY29sdW1uLXBhZGRpbmc6IDEwcHggMTBweCAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBGaW5kIG91dCBtb3JlIGJ1dHRvbi5cclxuJGNtcy1ybS1tYXJnaW46IDIwcHggMCAwICFkZWZhdWx0O1xyXG4kY21zLXJtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWN1c3RvbS1pY29uOiAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb24tc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRjbXMtcm0tY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLXJtLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ybS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwIFxyXG4pICFkZWZhdWx0O1xyXG4kY20tcm0tdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgICBkZWZhdWx0OiBub25lLFxyXG4gICAgaG92ZXI6IGlmKCRyZWFkLW1vcmUtc3VmZml4LWljb24sIG5vbmUsIHVuZGVybGluZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gQmxvY2txdW90ZVxyXG4kY21zLWJsb2NrcXVvdGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDUwcHggMzBweCxcclxuICAgIGxhcmdlOiA1MHB4IDYwcHhcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tc2l6ZTogNDBweCAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIENvZGUgYmxvY2suXHJcbiRjbXMtY29kZS1ibG9jay1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMzVweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBJbWFnZVxyXG4kY21zLWltYWdlLXNwYWNpbmc6IDEwcHggYXV0byAhZGVmYXVsdDtcclxuLy8gLS0tIFJlYWQgTW9yZSAtLS0gXHJcbiRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eTogMHB4ICFkZWZhdWx0O1xyXG4kY21zLXJtLWZhZGUtb3BhY2l0eTogJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5ICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ybS1mYWRlLW9wYWNpdHk6ICRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mYWRlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZmVhdGhlci1kZWZhdWx0OiA1MHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbnRlbnQgbG9hZGluZyBvdmVybGF5IC0tLSBcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplOiA1MHB4ICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQ6IDRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBSkFYIEJsb2NrZXIgLS0tIFxyXG4kYWpheC1zcGlubmVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1aS1ibG9jay1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIzLCAwLjYpICFkZWZhdWx0O1xyXG5cclxuLy8gR2VuZXJhbCBFcnJvciBzdHlsZXMuXHJcbi8vIEVycm9yIGJsb2NrcyBhcmUgZ2VuZXJhdGVkIGJ5IHRoZSBzZXJ2ZXIgYW5kIGFyZSB0eXBpY2FsbHkgcG9zaXRpb25lZCBhdCB0aGUgdG9wIG9yIHRoZSBib3R0b20gb2YgYSBmb3JtLlxyXG4kZXJyb3ItYmxvY2stZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gQWR2YW5jZWQgdmFsaWRhdGlvbiBlcnJvciBzdHlsZXMuXHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1pY29uLWNvbG91cjogcmdiYSgkY29sb3VyMy02LCAwLjcpICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tc2l6ZTogMTVweCAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1pbnZhbGlkLWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi12YWxpZC1jb2xvdXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBCdXR0b25zIC0tLSBcclxuLy8gTmVlZHMgc29tZSBzb3J0IG9mIGtub2NrIGJhY2sgZm9yIGdyZXllZCBvdXQgZWZmZWN0IHRvIHdvcmsuXHJcbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjQgIWRlZmF1bHQ7O1xyXG4vLyBBZGQgdG8gYmFza2V0ICggaWNvbiBvbmx5IClcclxuJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aDogMzVweCAhZGVmYXVsdDtcclxuJGFkZC10by1iYXNrZXQtaWNvbi1oZWlnaHQ6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGggIWRlZmF1bHQ7XHJcbiRhZGQtdG8tYmFza2V0LWljb24tc2l6ZTogMjNweCAhZGVmYXVsdDtcclxuLy8gU3RhbmRhcmQgYnV0dG9uIFxyXG4kYmFza2V0LWJ1dHRvbi13aWR0aDogMTAwJSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tcGFkZGluZzogMTVweCAxMHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tYm9yZGVyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSwgXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRiYXNrZXQtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuLy8gRmF2b3VyaXRlc1xyXG4kZmF2b3VyaXRlcy1pY29uLXNpemU6ICRhZGQtdG8tYmFza2V0LWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoOiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24taGVpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24td2lkdGggIWRlZmF1bHQ7XHJcblxyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbiRmYXZvdXJpdGVzUHJlc2V0cjJJY29uU2l6ZTogMThweDtcclxuLy8gTWFpbGluZyBCdXR0b24uXHJcbiRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiA1cHggMCAwLFxyXG4gICAgbWVkaXVtOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1wYWRkaW5nOiAwIDVweCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0OyBcclxuJG1haWxpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIElmIHdhbnQgdGhlIGlucHV0IGZpZWxkIGFuZCB0aGUgYnV0dG9uIHRvIGFwcGVhciBhcyBzZXBlcmF0ZSBlbGVtZW50cy5cclxuJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyOiAxcHggMXB4IDFweCAwICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyOiAxcHggMCAxcHggMXB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmludCBlbGVtZW50cyBidXR0b24gLS0tXHJcbi8vIENvbG91cnMuLi4uLlxyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVucy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIpIFxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlciksXHJcbiAgcG9zaXRpb246IGJlZm9yZSxcclxuICBtYXJnaW46IDAgMTJweCAwIDAsXHJcbiAgY29sb3VyOiAkcHJpbnQtZWxlbWVucy1idXR0b24taWNvbi1jb2xvdXIsXHJcbiAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFJldmVhbCBwYXNzd29yZCBidXR0b24gLS0tIFxyXG4kcmV2ZWFsLXBhc3N3b3JkLXdpZHRoOiA0NXB4ICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWljb24tY29sb3VyOiByZ2JhKCRjb2xvdXIzLTYsIDAuNykgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gR2VuZXJhbC5cclxuJHF1YW50aXR5LWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA2cHggMCxcclxuICAgIGxhcmdlOiA2cHggMTVweCA2cHggMFxyXG4pICFkZWZhdWx0OyBcclxuJHF1YW50aXR5LWlucHV0LWhlaWdodDogNDVweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEZyZWUgVGV4dCBRdWFudGl0eSBTZWxlY3RvclxyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0OiAkcXVhbnRpdHktaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDogKCRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGggLSAxMCkgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJHF1YW50dGl5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWluY3JlbWVudC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWRlY3JlbWVudC1jb2xvdXI6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5jcmVtZW50LWNvbG91ciAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjJcclxuICAgICksXHJcbiAgICBwcmVzZXQtMTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbiAgICApLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjNcclxuICAgICksXHJcbiAgICBwcmVzZXQtMTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMyxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzLTFcclxuICAgICksXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIERyb3Bkb3duIFF1YW50aXR5IFNlbGVjdG9yXHJcbiRxdWFudGl0eS1kcm9wZG93bi13aWR0aDogOTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWRyb3Bkd29uLXBhZGRpbmctbGVmdDogMTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDogJHF1YW50aXR5LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQ29udHJvbCBzbGlkZXJzIC0tLS0tXHJcbi8vIFJhaWwgb3B0aW9ucy5cclxuJHNsaWRlci1yYWlsLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjEsIC43KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXI6IHRyYW5zcGFyZW50LFxyXG4gICAgYWN0aXZlOiB0cmFuc3BhcmVudFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHNsaWRlci1yYW5nZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gSGFuZGxlIG9wdGlvbnMuXHJcbiRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM6IDIycHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7IFxyXG4kc2xpZGVyLWhhbmRsZS1pY29uLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbi8vIC0tLSBTd2VldCBBbGVydHMgKCBTdWNjZXNzLCBXYXJuaW5nLCBBbGVydCBJY29ucyApIC0tLSBcclxuJHNhLWRpbWVudGlvbnM6IDgwcHggIWRlZmF1bHQ7XHJcbiRzYS1tYXJnaW46IDMwcHggYXV0byAxNXB4ICFkZWZhdWx0O1xyXG4vLyBBbGVydFxyXG4kc2EtYWxlcnQtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2EtYWxlcnQtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4vLyBXYXJuaW5nXHJcbiRzYS13YXJuaW5nLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLXdhcm5pbmctY29sb3VyOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3NcclxuJHNhLXN1Y2Nlc3MtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2Etc3VjY2Vzcy1jb2xvdXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUYWJzIC0tLVxyXG4kdGFicy10aXRsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kdGFicy1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDI1cHgsXHJcbiAgICBsYXJnZTogNDBweCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMjVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBY2NvcmRpb25zIC0tLSBcclxuLy8gVGl0bGUuXHJcbiRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy1hcnJvdy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0YWJzLXRpdGxlLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHRhYnMtdGl0bGUtY29sb3VyKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtZm9udC1zaXplOiAkdGFicy10aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGFicy10aXRsZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtdGV4dC10cmFuc2Zvcm06ICR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodDogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtM1xyXG4pICFkZWZhdWx0O1xyXG4vLyBDb250ZW50LlxyXG4kYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTm90aWZpY2F0aW9ucywgcHJvbXB0cyAmIGNhbGxvdXRzIC0tLS0tXHJcbi8vIFRPRE86IFRoaXMgbmVlZHMgc2ltcGxpZnlpbmcsIGl0cyBhIG1lc3MgZHVlIHRvIG11bHRpcGxlIGl0ZXJhdGlvbnMuXHJcbiRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3MgYnV0dG9uLlxyXG4kc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29uZmlybWF0aW9uIC0tLSBcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1zdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDEwKSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBPbiBwYWdlIG5vdGlmaWNhdGlvbiAtLS0gXHJcbi8vIERlZmF1bHRzXHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGluZm9ybWF0aW9uOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBpbmZvcm1hdGlvbjogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRzdGF0dXMtYnV0dG9uLWNvbW1vbi13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogMzBweCAwLFxyXG4gICAgcHJlc2V0LTI6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDM1cHggMTBweCwgLy8gRnVsbCBzaXplXHJcbiAgICBwcmVzZXQtMjogMTVweCA2NXB4IC8vIE1pbmlmaWVkXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXA6IChcclxuICAgIHNtYWxsOiAwIHNwYWNpbmctdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIDIsIHByZXNldC0xKSxcclxuICAgIGxhcmdlOiAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNwZWNpZmljXHJcbi8vIC0tLSBObyBpdGVtcyBmb3VuZCAtLS0tIFxyXG4kbm8taXRlbXMtZm91bmQtbWFyZ2luOiAoKSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmc6ICgpICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuLy8gLS0tIEludGVybmFsIEVycm9yIC0tLSBcclxuJGludGVybmFsLWVycm9yLW1hcmdpbjogJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLXBhZGRpbmc6ICgpICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItZm9udC1zaXplOiAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItaWNyb24tc2l6ZTogJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZTtcclxuLy8gLS0tIENhbGxvdXRzIC0tLVxyXG4kbm90aWZpY2F0aW9uLWNhbGxvdXQtZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvbXB0IHBvcHVwcyAtLS0gXHJcbiRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc6IDgwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBHZW5lcmFsIE5vdGlmaWNhdGlvbnMgKCBwaW5uZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93IClcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMnB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIEJlY2F1c2Ugb2YgVGlkaW8uLi4uLlxyXG4kbm90aWZpY2F0aW9ucy16LWluZGV4OiA5OTk5OTk5OTk5ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNy41cHggMTVweCxcclxuICAgIGxhcmdlOiAxNXB4IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBXQSAtLS0gXHJcbiRub3RpZmljYXRpb25zLWFwcC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMyAhZGVmYXVsdDtcclxuLy8gLS0tIENvb2tpZSBQb2xpY3kgLS0tIFxyXG4kY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMy0yLCAwLjkpICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG5cclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBob3Zlci1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogZGVmYXVsdC1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0gXHJcbi8vIFJlc3RyaWN0ZWQgY29udGVudC5cclxuJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuLy8gSW50ZXJuYWwgdXNlIG9ubHkgY29udGVudC5cclxuJGRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHktY29sb3VyOiAkZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gSW50cm8gLS0tXHJcbiRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCkgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWludHJvLWJhbm5lci1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gLS0tIExpc3QgLS0tIFxyXG4kZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tcGFkZGluZzogN3B4IHNwYWNpbmctdmFsdWUoJHRoZWFkLXByZXNldC0xLCAyLCBwYWRkaW5nKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBIZWFkZXIgY29udGFpbmVyIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjogMzVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb250ZW50IENvbnRhaW5lciAtLS1cclxuJGRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXItd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFkZGl0aW9uYWwgTGlua3MgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZzogMjVweCAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU6IDFweCBzb2xpZCAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENvbnRleHQgTWVudSAtLS0tLVxyXG4kY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4OiAxOTk1ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tXHJcbiRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utc3RlcC1oZWlnaHQ6IDYwcHggIWRlZmF1bHQ7XHJcbiRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlOiA1NiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENvbGxlY3Rpb25zIC0tLS0tIFxyXG5cclxuLy8gVE9ETzogVGhlIHRlcm1pbm9sb2d5IG5lZWRzIHRvIGJlIGNoYW5nZWQgZnJvbSBcIiBieC0gXCIgdG8gXCIgY29sbGVjdGlvbi0gXCJcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zOiAxNXB4ICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5OiAoXHJcbiAgICBkZWZhdWx0OiAuNSxcclxuICAgIGhvdmVyOiAuOCxcclxuICAgIGFjdGl2ZTogMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eTogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBkZWZhdWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZzogMTBweCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZy1ib3R0b206IDIwcHggIWRlZmF1bHQ7IC8vIE5lZWQgdG8gYWRkIHBhZGRpbmcgYm90dG9tIGlmIGJvcmRlci1ib3R0b20gaXMgc2V0LlxyXG4kY29sbGVjdGlvbi1zbGlkZS1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGg6IDAgMCA1cHggMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY2VsbC1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBJbnZlcnRzIHdoZW4gYm94LXNoYWRvdyBpcyBhcHBsaWVkIGZyb20gd2hlbiBob3ZlciBzdGF0ZSB0byBkZWZhdWx0IHN0YXRlLlxyXG4kY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jZWxsLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctaG92ZXItYm94LXNoYWRvdy1zdXBwcmVzczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDsgLy8gVXNlZnVsIGlmIHdlIG5lZWQgbW9yZSBzcGFjZSBhZnRlciBhIHNlcGVyYXRvci5cclxuJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyOiAkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmc6IChcclxuICAgIGNvbXBhY3Q6IDEwcHgsXHJcbiAgICBub24tY29tcGFjdDogMTVweCAxMHB4IC8vIGRlc2NyZWFzaW5nIHRvIDEwcHggTCArIFIgdG8ga2VlcCBidXkgYm94IGZyb20gd3JhcHBpbmcgYXQgNiBjb2x1bW4uXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDVweCxcclxuICAgIGxhcmdlOiA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtYm94LXNoYWRvdy1pbnZlcnQ6ICRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbm9uZSxcclxuICAgIGhvdmVyOiAkYm94U2hhZG93M1xyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1mbGV4LWdyb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWZsZXgtYmFzaXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtczogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXBhZGRpbmc6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgbm9uLWNvbXBhY3QpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LCBcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24taG92ZXItdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZTogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2UtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDAgLy8gRG9uJ3Qgc2V0IG1hcmdpbiBib3R0b20sIHRoaXMgaXMgdHlwaWNhbGx5IGNvbnRyb2wgYnkgbW9kdWxlIG9yIHJvdyBtYXJnaW5zLlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWltYWdlLW1hcmdpbjogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b206IDM1cHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1wb3NpdGlvbi1ib3R0b206ICgkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItbWFyZ2luLWJvdHRvbSAtIDE1KSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWltYWdlLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIEhhdmluZyB0byByZXN0cmljdCBpbWFnZSBzaXplcyBkdWUgdG8gZXh0ZXJuYWwgZGF0YSBpbWFnZXMgZG9lcyBub3QgZ28gdGhyb3VnaCBEaXBsb21hdCdzIGltYWdlIG1hbmFnZW1lbnQsIGRvbnQgbWVkaXVtIHlldCBhcyB3ZSBjdXJyZW50bHkgZG9uJ3QgdXNlIHRoaXMgYnJlYWtwb2ludCBpbiBvdXIgY29sbGVjdGlvbnMuXHJcbiRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXM6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgMTogMTI4MHB4LFxyXG4gICAgICAgIDI6IDYzMHB4LFxyXG4gICAgICAgIDM6IDQxOHB4LFxyXG4gICAgICAgIDQ6IDMxMnB4LFxyXG4gICAgICAgIDU6IDI0OXB4LFxyXG4gICAgICAgIDY6IDIwNXB4LFxyXG4gICAgICAgIDc6IDE3NXB4LFxyXG4gICAgICAgIDg6IDE1M3B4XHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICAxOiAkZ2xvYmFsLXdpZHRoLFxyXG4gICAgICAgIDI6IDY0NHB4LFxyXG4gICAgICAgIDM6IDQyNHB4LFxyXG4gICAgICAgIDQ6IDMxNnB4LFxyXG4gICAgICAgIDU6IDI1MHB4LFxyXG4gICAgICAgIDY6IDIwN3B4LCBcclxuICAgICAgICA3OiAxNzVweCxcclxuICAgICAgICA4OiAxNTJweFxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3ItZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgICBoZWlnaHQ6IDFweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhcm91c2VsIHR5cG9ncmFwaHkgLS0tIFxyXG4kY29sbGVjdGlvbi10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIGNvbGxlY3Rpb24tZWJnLWNvbG91ciBub3JtYWxseSBnZXRzIHNldCBieSAkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyIGJ1dCBpZiB3ZSB3YW50IGViZydzIHRvIGJlIGEgZGlmZmVyZW50IGNvbG91ciB0aGVuIHdlIHVzZWQgdGhpcyBvdmVycmlkZS5cclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiAoJGRlZmF1bHQtbGluZS1oZWlnaHQgLSAuMykgIWRlZmF1bHQ7IC8vIEl0IHdhcyBkZWNpZGVkIHRoYXQgY29sbGVjdGlvbiBsaW5lLWhlaWdodHMgc2hvdWxkIGJlIHNsaWdodGx5IHRpZ2h0ZXIuXHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdHJhbnNwYXJlbnQsXHJcbiAgICBob3ZlcjogdHJhbnNwYXJlbnQsXHJcbiAgICBhY3RpdmU6IHRyYW5zcGFyZW50XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cjogJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciAhZGVmYXVsdDtcclxuLy8kYngtZGVzY3JpcHRpb24tY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4vLyAkYngtZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGJ4LXByaWNlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29kZS1jb2xvdXI6ICRjb2RlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gTGFiZWwgJiBWYWx1ZSBwYWlycyAoIGVzc2VudGlhbGx5IHNtYWxsIHBpZWNlcyBvZiBkYXRhIClcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29sbGVjdGlvbiBidXkgYm94ZXMgLS0tIFxyXG4kY29sbGVjdGlvbi1idXktYm94LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IGZsZXgtc3RhcnQsXHJcbiAgICBsYXJnZTogZmxleC1zdGFydFxyXG4pICFkZWZhdWx0O1xyXG4vL3NwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKVxyXG4kY29sbGVjdGlvbi1idXktYm94LXBhZGRpbmc6IDE1cHggMCAwICFkZWZhdWx0O1xyXG4vLyBUaGlzIHJlcGxhY2VzIHRoZSBhYm92ZS5cclxuJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nLXRvcDogMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb2xsZWN0aW9uIGJ1dHRvbnMgLS0tXHJcbiRjb2xsZWN0aW9uLWJ1dHRvbi13aWR0aDogNjYlICFkZWZhdWx0O1xyXG4vLyBNYXJnaW4gdG9wIG11c3QgYmUgc2V0IHRvIGF1dG8gdG8gYXNzaXN0IGVxdWFsaXNpbmcgdGhlIGJ1dHRvbnMgb24gZWFjaCByb3cuXHJcbiRjb2xsZWN0aW9uLWJ1dHRvbnMtbWFyZ2luOiBhdXRvIGF1dG8gc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmcsIDEpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNsaWRlcyBzdHlsZXMgLS0tIFxyXG4vLyBDaGFuZ2dpbmcgdG8gdHJhbnNwYXJlbnQgdG8gYWxsb3cgdXNlIG9mZiByb3csIG1vZHVsZSAmIGNvbnRlbnQgYmFja2dyb3VuZHMuXHJcbi8vIFRoaXMgdmFyaWFibGUgaXMgbm8gbG9uZ2VyIHVzZWQgYXMgd2UgbmVlZGVkIG1vcmUgZmxleGliaWxpdHkgZm9yIG1vZHVsZSBjb250ZW50IGJhY2tncm91bmRzLCBoYXZlIGludHJvZHVjZWQgJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyIHRvIGhhbmRsZSBwcm9kdWN0IGNvbGxlY3Rpb25zIGFzIHRoZXkgbmVlZCB0byBoYXZlIGEgYmFja2dyb3VuZCBjb2xvdXIgKCBpLmUgd2hpdGUgKSBkdWUgdG8gdGhlIGNvbnRlbnQgdGhhdCBpcyBiZWluZyBkaXNwbGF5ZWQuXHJcbiRieC1zbGlkZS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2Fyb3VzZWwgQ29udHJvbHMgLS0tXHJcbi8vIENvbnRyb2xzXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Q6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjogMTBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbjogJ2JvdHRvbS1yaWdodCcgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiAkYm94U2hhZG93MixcclxuICAgIGhvdmVyOiAkYm94U2hhZG93MlxyXG4pICFkZWZhdWx0O1xyXG4vLyBQYWRkaW5nIHVzZWQgZm9yIGFsaWdubWVudCBpZiB1c2luZyBjdXN0b20gaWNvbnMuXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiA0NXB4LFxyXG4gICAgbm9ybWFsOiAzMHB4LFxyXG4gICAgbGFyZ2U6IDc1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE0cHgsXHJcbiAgICBsYXJnZTogMThweFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1zaGFkb3c6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4vLyBEdWUgdG8gdXNpbmcgdmFyaW91cyBkaWZmZXJlbnQgZm9udCBmYW1pbGllcyBmb3IgZ2x5cGhzIHBsYWNlbWVudCBvZiB0aGUgZ2x5dGggaW4gaXRzIGNhbnZhcyBjYW4gdmFyeSBzbyBpbiBzb21lIGNhc2VzIHdlIG5lZWQgdG8gYWRkIGEgc2hpbSB0byBjZW50cmFsaXNlIGl0IHdpdGhpbiB0aGUgYnV0dG9uLlxyXG4kY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW06IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFNlcGVyYXRvcnMgLS0tXHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMXB4LFxyXG4gICAgaGVpZ2h0OiA4MCVcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBBWElTIFRvb2x0aXAgLS0tLS0gXHJcbiR0b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZTogOSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAyICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJvcmRlcjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0OyAvLyBGb3Igd2FybmluZyAmIGFsZXJ0LlxyXG4kdG9vbHRpcC1jb250ZW50LWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWluZm8taWNvbi1zaXplOiAxMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIzLTYsIDAuNyksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgLS0tLS1cclxuJGhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2U6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlLXBvc2l0aW9uOiB0b3AgcmlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgUmVzcG9uc2l2ZSAtLS0gXHJcbi8vIFdoaWNoIGNvbXBvbmVudHMgaW4gbW9iaWxlIGRvbid0IGdldCBzdXBwcmVzc2VkIGluc2lkZSBvZiB0aGUgaGVhZGVyLWNvbnRlbnQtKiBjb250YWluZXJzLlxyXG4kaGVhZGVyLWNvbXBvbmVudC1kaXNwbGF5LWxpc3Q6IFwiLmxvZ28tY29udGFpbmVyXCIsIFwiI2FjdGlvbi1iYXItY29udGFpbmVyXCIsIFwiLmhlYWRlci1zZWFyY2gtY29udGFpbmVyXCIsIFwiLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGVcIiAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0OiA4MHZoICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg6IDIwMDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ3LjclIDI4LjUlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIG1lZGl1bTogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZTogMzVweCAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMi41cHgsXHJcbiAgICBtZWRpdW06IDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGU6IDE4MGRlZyAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMjRweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXk6IChcclxuICAgIG1haWw6IHRydWUsXHJcbiAgICB0ZWxlcGhvbmU6IHRydWUsXHJcbiAgICBzZWFyY2g6IHRydWUsXHJcbiAgICBiYXNrZXQ6IHRydWUsXHJcbiAgICBoYW1idXJnZXI6IHRydWVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtd2VpZ2h0OiAycHggIWRlZmF1bHQ7XHJcbi8vICRoZWFkZXItbmF2LXJpZ2h0LXdpZHRoOiAzNzBweCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciB0b2dnbGUgYmFyICBbIERlc2t0b3AgXSAtLS0gXHJcbiRoZWFkZXItdG9nZ2xlLWJhci1nYXA6IDAgMTIuNXB4ICFkZWZhdWx0O1xyXG4vLyBCdXR0b25zXHJcbiRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmc6IDMuNXB4IDcuNzVweDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzOiAoXHJcbiAgICBzZWFyY2g6IDQ5MHB4LCAgICBcclxuICAgIGFjdGlvbi1iYXI6IDI1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgQWNjb3VudCBCdXR0b24gLS0tXHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tbWluLWhlaWdodDogJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmcsXHJcbiAgICBtaW5pZmllZDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ndXR0ZXI6IDEwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1zaXplOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIFVwcGVyIC0tLVxyXG4kaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXVwcGVyLWljb25zLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbi1tYXJnaW46IDAgMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbi1wYWRkaW5nOiAxcHggNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLXNpemU6ICRoZWFkaW5nLXVwcGVyLWljb25zLXNpemUgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1saW5lLWhlaWdodDogMjJweCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLXJvdGF0ZTogJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlICFkZWZhdWx0O1xyXG4kbWVudXMtZW1haWwtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtZW1haWwtaWNvbi1zaXplOiAkaGVhZGluZy11cHBlci1pY29ucy1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXItd2lkdGg6IDAgMCAxcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1wYWRkaW5nOiA3LjVweCAxNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tIE1pZGRsZSAtLS1cclxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDM0JSxcclxuICAgIG1lZGl1bTogbm9uZSxcclxuICAgIGxhcmdlOiAkZ2xvYmFsLXdpZHRoXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gSGVhZGVyIGNvbnRlbnQgbGVmdC5cclxuLy8gRGVwcmVjYXRlZCBtb3ZpbmcgdG8gcmVsYXRpdmUgbGVuZ3RoXHJcbi8vICRsb2dvLWNvbnRhaW5lci13aWR0aDogKFxyXG4vLyAgICAgbGFyZ2U6IDMxMHB4XHJcbi8vICkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDIwMHB4LFxyXG4gICAgbWluaWZpZWQ6IDEwNXB4LFxyXG4gICAgc21hbGw6IDY1cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDY1cHgsXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDVweCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWltYWdlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLCBcclxuICAgIGxhcmdlOiAyNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRsb2dvLWNvbnRhaW5lci1qdXN0aWZ5OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRsb2dvLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDEwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zOiAoXHJcbiAgICBsYXJnZTogMWZyICN7KCRnbG9iYWwtd2lkdGggLyAzKX0sXHJcbiAgICB4eGxhcmdlOiAxZnIgI3soJGdsb2JhbC13aWR0aCAvIDIpfVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtczogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmU6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXVuZGVybGluZS1oZWlnaHQ6IDJweCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1tYXJnaW46IGF1dG8gMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc6IDE1cHggMTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBIZWFkZXIgY29udGVudCBjZW50ZXIuXHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gSGVhZGVyIGNvbnRlbnQgcmlnaHQuXHJcbiRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1uczogKFxyXG4gICAgbGFyZ2U6IDFmcixcclxuICAgIHhsYXJnZTogMWZyLFxyXG4gICAgeHhsYXJnZTogI3soJGdsb2JhbC13aWR0aCAvIDIpfSAxZnJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemU6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtYW5jaG9yLXBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gU28gdGhlIGNvbnRlbnQgZml0cyB0aWdodCBhZ2FpbnN0IHRoZSBjb250ZW50IGNvbnRhaW5lci5cclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtc3VwcHJlc3MtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgTG93ZXIgLS0tXHJcbiRoZWFkZXItbWVnYS1tZW51LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgsIGxhcmdlKSxcclxuICAgIHhsYXJnZTogbnVsbCxcclxuICAgIHh4bGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9yczogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMXB4LFxyXG4gICAgaGVpZ2h0OiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG93ZXItaXRlbS1ncm93OiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb3dlci10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4vLyRoZWFkZXItbG93ZXItaXRlbS1wYWRkaW5nOiAxNXB4IDE1cHggIWRlZmF1bHQ7XHJcbi8vIE1lZ2EgTWVudVxyXG4kbWVnYS1tZW51LWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtYm9yZGVyLXdpZHRoOiAxcHggMCAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWJvcmRlci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LW1vYmlsZS1tYXgtaGVpZ2h0OiA4MHZoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LW1vYmlsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyBNZWdhIG1lbnUgaWNvbnMuXHJcbiRtZWdhLW1lbnUtc2hvdy1pY29uczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtc2hvdy1pY29ucy1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCA4cHggMCA4cHgsXHJcbiAgICBsYXJnZTogMCA4cHggMCAwIFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXIgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ6IDcwdmggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDE3LjVweCxcclxuICAgIGxhcmdlOiA0MHB4IDQ3cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIE1lZ2EgbWVudSBJbWFnZSAtLS1cclxuJG1lZ2EtbWVudS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWRlc2t0b3AtbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM6IDIwMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTW9iaWxlIE5hdmlnYXRpb24gdGV4dCAoIEhlYWRlciApIC0tLVxyXG4kbWVudS1uYXYtdGV4dC1tYXJnaW46IDMwcHggMCA0MHB4ICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAxXHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1maXJzdC1jaGlsZC1tYXJnaW46ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0IWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplOiAoXHJcbiAgICBzbWFsbDogMjAsXHJcbiAgICBsYXJnZTogMTVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNzAwLFxyXG4gICAgbGFyZ2U6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxNXB4IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdC1zbWFsbDogJGNvbG91cjQsXHJcbiAgICBkZWZhdWx0LWxhcmdlOiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBsYXJnZS12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpLCAvLyB5b3UgbWF5IGdldCBpc3N1ZXMgaGVyZSBmb3IgbW9iaWxlLlxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemU6IChcclxuICAgIHNtYWxsOiAzNXB4LFxyXG4gICAgbGFyZ2U6IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCAwIDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1kZXNjcmlwdGlvbi1wYWRkaW5nOiAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMlxyXG4kbWVnYS1tZW51LW1heC1jb2x1bW5zOiA4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWNvbnRlbnQtY29udGFpbmVyOiBpZigkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgsICRnbG9iYWwtd2lkdGgsIDEwMCUpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjogMjBweCAxNXB4ICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1tZW51LWRyb3Bkb3duLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTBweCAwIDVweCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3LFxyXG4gICAgbGFyZ2U6IDE1XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNzAwLFxyXG4gICAgbGFyZ2U6IDgwMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIExldmVsIDMuXHJcbiRtZWdhLW1lbnUtY2hpbGQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTcsXHJcbiAgICBsYXJnZTogMTRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDQwMCxcclxuICAgIGxhcmdlOiA0MDBcclxuKSAhZGVmYXVsdDsgXHJcbiRtZWdhLW1lbnUtY2hpbGQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjIsXHJcbiAgICBsYXJnZS1kZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGxhcmdlLWhvdmVyOiAkY29sb3VyNixcclxuICAgIGxhcmdlLWFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMikgNXB4IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgNCksXHJcbiAgICBsYXJnZTogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDIsIGxhcmdlKSAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgNCwgbGFyZ2UpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFZpZXcgbW9yZS5cclxuXHJcbi8vIEFjY291bnQgTWVudS5cclxuJGFjY291bnQtbWVudS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNTUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtbWVudS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gR2V0cyB1c2VkIGluIGhlYWRlciB2YXJpYW50IDNcclxuJGFjY291bnQtbWVudS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbiRtZW51LWxldmVsMS1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDItZGVmYXVsdC1tb2JpbGUtaG92ZXItYmFja2dyb3VuZDogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWRlZmF1bHQtaG92ZXItY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gQ29tbW9uIG1lbnUgc3R5bGVzXHJcbiRtb2JpbGUtbWVudS1mb290ZXItcGFkZGluZy1ib3R0b206IDUwcHggIWRlZmF1bHQ7IFxyXG4kbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1zaXplOiA2cHggIWRlZmF1bHQ7XHJcbiRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXI6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGZvciBjb21wYWN0IGhlYWRlciBmb3IgYXhpcyBwb3J0YWwuXHJcbi8vICRoZWFkZXItY29udGVudC1taW4taGVpZ2h0OiAxNDVweCAhZGVmYXVsdDtcclxuLy8gLS0tIFN0YXR1cyBtZXNzYWdlcyAtLS0gXHJcbiRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFRhZ2xpbmUgLS0tXHJcbiRoZWFkZXItdGFnbGluZS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1sb3dlci1zdXBwcmVzczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZzogOHB4IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZWFyY2ggLS0tXHJcbi8vICRoZWFkZXItc2VhcmNoLXdpZHRoOiA2MjBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDsgXHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBBcyB3ZSBtaWdodCB3YW50IHRvIHNldCB0aGUgc2hhZG93IG9uIHRoZSBjb250YWluZXIgaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGlucHV0cy5cclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy1zZWFyY2gtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogJGhlYWRlci10YWdsaW5lLWhlaWdodCA0MHB4IDAgNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItd2lkdGgtb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXItb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYnV0dG9uLWljb24tY29sb3VyLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gV2VsY29tZSBUZXh0IC0tLSBcclxuJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIGxhcmdlOiBmbGV4LWVuZCxcclxuICAgIHh4bGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LXRleHQtYWxpZ246IHJpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gQXV0b2NvbXBsZXRlICggU2VhcmNoIClcclxuJGFjLXJlc3VsdC1waW4tdG8tdG9wOiB0cnVlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb246IChcclxuICAgIHRvcDogaWYobm90ICRhYy1yZXN1bHQtcGluLXRvLXRvcCwgLSN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcsIDEsIGxhcmdlKX0sIG51bGwpLFxyXG4gICAgcmlnaHQ6IG51bGwsXHJcbiAgICBsZWZ0OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLXdpZHRoOiA3MDBweCAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtb2Zmc2V0OiAtI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZywgNCwgbGFyZ2UpfSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtYm94LXNoYWRvdzogJGJveFNoYWRvdzEgIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLXBhZGRpbmc6IChcclxuICAgIHRvcDogMTEwcHgsXHJcbiAgICBzaWRlOiAwLFxyXG4gICAgYm90dG9tOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1tYXJnaW46IDEwcHggMCAxNXB4ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1wYWRkaW5nOiA1cHggMTVweCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtZm9udC1zaXplOiAoJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWxpc3QtcGFkZGluZzogMTBweCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1jb250ZW50LWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1wYWRkaW5nOiAwIDIwcHggMCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1tYXJnaW46IDAgMCA1cHggIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWltYWdlLW1hcmdpbjogMCAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDUwcHgsXHJcbiAgICBoZWlnaHQ6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1zbmlwcGV0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIE5hdmlnYXRpb24gLS0tXHJcbi8vIEhvbWUgQnV0dG9uXHJcbiRob21lLWJ1dHRvbi13aWR0aDogZml0LWNvbnRlbnQgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLXN1cHByZXNzLWJhY2tncm91bmQtY29sb3VyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1wYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIGxhcmdlKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9uczogKFxyXG4gICAgd2lkdGg6IDJweCxcclxuICAgIGhlaWdodDogODAlXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU3RpY2t5IC0tLSBcclxuJGhlYWRlci1taW5pZmllZC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKSAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tIEJhc2tldCBQcmV2aWV3IC0tLSBcclxuJGRlc2t0b3Atc3VtbWFyeS13aWR0aDogMjU1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNDAwLFxyXG4gICAgaG92ZXI6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpb3VzLWljb24td2lkdGg6IDcycHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogOXB4IDIzcHgsXHJcbiAgICBtaW5pZmllZDogNHB4IDIzcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyMSxcclxuICAgIGFsZXJ0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDsgLy8gRm9yIHdhcm5pbmcgJiBhbGVydCBzdGF0ZXMuXHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXI2LFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYWxsIHRvIGFjdGlvbiAtLS0gXHJcbiRoZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGJhc2tldC1wcmV2aWV3LWljb24tZm9udC1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gQnJlYWRjcnVtYnMgJiBWYXQgU3dpdGNoZXIgLS0tIFxyXG4kaGVhZGVyLW5vLWJyZWFrY3J1bWJzLXRvZ2dsZS1zd2l0Y2gtc2hpbS1vbi1ob21lcGFnZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltOiA3LjVweCAhZGVmYXVsdDsgLy8gdHJ5IGFuZCBrZWVwIGluIHN5bmMgd2l0aCBtb2R1bGUgbWFyZ2luIHRvcCArIGJvdHRvbSAoIGkuZSBoYWxmICRtb2R1bGVzLW1vZHVsZS1tYXJnaW4gKS5cclxuJGJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogOHB4IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQnJlYWRjcnVtYnMgLS0tXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFjdGl2ZS1mb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItbWFyZ2luOiAwIDVweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltOiAxcHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy11cHBlcmNhc2U6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFZBVCBTd2l0Y2hlciAtLS0gXHJcbiR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNDAwLFxyXG4gICAgYWN0aXZlOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnM6IDM0cHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogJGNvbG91cjAsXHJcbiAgICBpbmNsdXNpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogJGNvbG91cjMtMixcclxuICAgIGluY2x1c2l2ZTogJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1nYXA6IDAgMTBweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMyksXHJcbiAgICBpbmNsdXNpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMylcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBVU1AgQmFyIC0tLSBcclxuJHVzcC1vcmRlci1pbnZlcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLWd1dHRlcjogMTJweCAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1wYWRkaW5nOiA2cHggIWRlZmF1bHQ7XHJcbiR1c3AtYmFyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMCA3LjVweCxcclxuICAgIGxhcmdlOiAxMHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLXBhZGRpbmc6IDE1cHggNXB4ICFkZWZhdWx0O1xyXG4kdXNwLWJhY2tncm91bmQtZnVsbC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtaG92ZXItb3BhY2l0eTogLjYgIWRlZmF1bHQ7XHJcbiR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogZGFya2VuKCRjb2xvdXIzLCAxMCUpLFxyXG4gICAgYWN0aXZlOiBkYXJrZW4oJGNvbG91cjMsIDIwJSlcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kdXNwLWd1dHRlcjogMCAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAycHgsXHJcbiAgICBoZWlnaHQ6IDI4cHhcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzcC1hbGlnbm1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJHVzcC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHVzcC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdXNwLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItY3VzdG9tLWljb246ICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1c3AtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kdXNwLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBNb2R1bGVzIC0tLS0tIFxyXG4kbW9kdWxlLWgxLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRtb2R1bGUtaDItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG1vZHVsZS1oZWFkaW5nLWJvcmRlcjogMHB4IHNvbGlkICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSb3cgQmFja2dyb3VuZCAtLS1cclxuJG1vZHVsZXMtcm93LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDQ1cHggMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJG1vZHVsZXMtcm93LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUm93IENvbnRhaW5lciAtLS0gXHJcbiRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDApLFxyXG4gICAgbGFyZ2U6ICg0NXB4KVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1yb3ctYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTW9kdWxlIENvbnRhaW5lciAtLS1cclxuJG1vZHVsZXMtbW9kdWxlLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogMTBweCxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMi41cHgsIGF1dG8pLFxyXG4gICAgbGFyZ2U6ICgzMHB4LCBhdXRvKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTW9kdWxlIENvbnRlbnQgQ29udGFpbmVyIC0tLVxyXG4kbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWdlIEhlYWRpbmcgLS0tIFxyXG4kbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBFQkcgLS0tXHJcbiRtb2R1bGVzLWViZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgbW9kdWxlKHMpIGFzc29jaWF0ZWQgYmFubmVyIGltYWdlIG1hbmFnZW1lbnQgLS0tXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQ6IGNvdmVyICFkZWZhdWx0OyAvLyB0aGlzIGNvbnRyb2xzIHRoZSBsYXJnZSBicmVha3BvaW50LlxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdDogKFxyXG4gICAgZXZlbnRzOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgbmV3czogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIGJsb2c6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBlbnRyeTogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodDogKFxyXG4gICAgZXZlbnRzOiA1NTBweCxcclxuICAgIG5ld3M6IDM3NXB4LFxyXG4gICAgYmxvZzogNDc1cHgsXHJcbiAgICBlbnRyeTogMzgwcHggLy8gSWYgbGVmdCBvciByaWdodCBhbGlnbmVkLlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEJsb2cgLS0tLSBcclxuJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLXktZ3V0dGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAoMCksXHJcbiAgICBsYXJnZTogKDApXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNTBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDUwcHggNy41JVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI6IHVuc2V0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE5ld3MgLS0tXHJcbiRtb2R1bGVzLW5ld3MteS1ndXR0ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXdzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICgyNXB4KSxcclxuICAgIGxhcmdlOiAoNDBweClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3LWhlYWRpbmctbWFyZ2luOiAwIDAgMTVweCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEV2ZW50cyAtLS0gXHJcbiRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWV2ZW50cy1nYXA6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBHcmlkIGNvbGxlY3Rpb24gLS0tIFxyXG4vLyBDb2xsZWN0aW9uIGl0ZW1cclxuJG1vZHVsZXMtZ3JpZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiA3LjVweCxcclxuICAgIG1lZGl1bTogMTVweCwgLy8gQ2hhbmdpbmcgdG8gMTVweCB0byBtYXRjaCBmYWxsYmFjayBndXR0ZXIuXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBHdXR0ZXIgZmFsbGJhY2sgaWYgQ1NTIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkLCBpLmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmxpdHkgb2Ygb2xkIG1vZHVsZXMuXHJcbiRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZHVtOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIE1vZHVsZXMgLS0tIFxyXG4kY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1tYXJnaW46IGF1dG8gIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg6IDAgMCA1MCUgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgZm9yIGltYWdlIHJpZ2h0ICsgbGVmdC5cclxuJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgyMHB4LCAyNXB4KSxcclxuICAgIGxhcmdlOiAoNDVweCwgNTBweClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiAyNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBVc2VkIGFzIGEgb3ZlcnJpZGUgZm9yIG1peGluIGNtcy1oZWFkaW5ncyBpZiBuZWVkZWQuXHJcbiRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbjogKFxyXG4gICAgYmxvZzogZmFsc2UsXHJcbiAgICBldmVudHM6IGZhbHNlLFxyXG4gICAgbmV3czogZmFsc2VcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXI6IChcclxuICAgIGJsb2c6IG51bGwsXHJcbiAgICBldmVudHM6IG51bGwsXHJcbiAgICBuZXdzOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb246IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aDogKFxyXG4gICAgYmxvZzogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb24sXHJcbiAgICBuZXdzOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbixcclxuICAgIGV2ZW50czogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb25cclxuKTtcclxuJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgZm9yIGNtcyBtb2R1bGVzIHRoYXQgYXJlIG5vdCBvZiB0eXBlIGVudHJ5IGkuZSBibG9nLCBuZXdzLCBldmVudC5cclxuJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBTdWJzaWRpYXJ5IC0tLSBcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtcGFkZGluZzogMThweCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1zaXplOiByZW0tY2FsKDIyKSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDTVMgUGFnZXMgLS0tLS0gXHJcbi8vIC0tLSBDb21tb24gU3R5bGVzIC0tLSBcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b206IDMwcHggIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyOiAkY29sb3VyMy03ICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtc2l6ZTogMjAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtY29udGVudC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kc2hvdy1jbXMtYmFja2dyb3VuZDogKFxyXG4gICAgYmxvZzogZmFsc2UsXHJcbiAgICBuZXdzOiBmYWxzZSxcclxuICAgIGV2ZW50OiBmYWxzZSxcclxuICAgIGluZm9ybWF0aW9uOiB0cnVlXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDTVMgVHlwZSBzcGVjaWZpYyAoIGJsb2csIGV2ZW50cywgbmV3cywgZXRjICkgLS0tXHJcbiRuZXdzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICAhZGVmYXVsdDtcclxuJGJsb2ctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbiApICFkZWZhdWx0O1xyXG4kZXZlbnRzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMywgXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGluZm9ybWF0aW9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRhYmxlIERpc3BsYXkgLS0tIFxyXG4kY21zLXRhYmxlLXJvdy1wYWRkaW5nOiAoXHJcbiAgICB0b3AtYm90dG9tOiA0MHB4LCBcclxuICAgIHJpZ2h0LWxlZnQ6IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQXJ0aWNsZSBQYWdlcyAtLS1cclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZzogc3BhY2luZy12YWx1ZSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAxKSAxNXB4IHNwYWNpbmctdmFsdWUoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgMykgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LCBcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemU6IDI2cHggIWRlZmF1bHQ7XHJcbi8vIERlcGVuZGluZyBvbiB0aGUgaWNvbiAvIGljb24tZmFtaWx5IHlvdSdyZSB1c2luZyB5b3UgbWF5IG5lZWQgdG8gcHJvdmlkZSBhIHNoaW0gdG8gcGVyZmVjdGx5IGNlbnRlcmFsaXNlLlxyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTogMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBTdG9jayAtLS0tLSBcclxuLy8gLS0tIFByaWNlIC0tLSBcclxuJHByaWNlLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJHByaWNlLXZhdC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBnZXQgcmlkIG9mIHRoaXMgZm9yIGNlbGwgYWxpZ25tZW50LlxyXG4kcHJpY2UtdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuLy8gLS0tIFN0b2NrIEluZGljYXRvcnMgLS0tIFxyXG4kc3RvY2staW5kaWNhdG9yLXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplOiAoXHJcbiAgICBzb2gtMDogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZSxcclxuICAgIHNvaC0xOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplLFxyXG4gICAgc29oLTI6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWljb24tcGFkZGluZzogMCA1cHggMCAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzb2gtMi1pY29uLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJHNvaC0wLWljb24tY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kc29oLTAtbGV2ZWwtY29sb3VyOiAkc29oLTAtaWNvbi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzb2gtMS1pY29uLWNvbG91cjogJGNvbG91cjYtMyAhZGVmYXVsdDtcclxuJHNvaC0xLWxldmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkc29oLTAtaWNvbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2gtbm90aWZpY2F0aW9uLXN0YXR1cy1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRzb2gtY29sbGVjdGlvbi1vbmx5LWN1c3RvbS1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNvaC1jb2xsZWN0aW9uLW9ubHktaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW1hZ2VzIC0tLS0tXHJcbi8vIEFsbCBpbWFnZXMgc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSAuaW1hZ2UgY29udGFpbmVyLCBmb3IgcG5nJ3MgdGhleSBtYXkgaGF2ZSBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQgd2hpY2ggb2Z0ZW4gZG9lc24ndCB3b3JrIGluIHRoZSBjb250ZXh0IG9mIHRhYmxlcyB3aGVyZSB3ZSBoYXZlIG9kZC9ldmVuIGNvbG91cmluZyBvbiByb3dzLCBzbyBhcyBhIGdlbmVyaWFsIHJ1bGUgYWRkaW5nIGEgd2hpdGUgYmFja2dyb3VuZCB0byBhbGwgaW1hZ2VzLlxyXG4kaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVkaWEtYXNwZWN0LXJhdGlvczogKFxyXG4gICAgXCJwcm9kdWN0XCI6IChcclxuICAgICAgICBcIndpZHRoXCI6IDEsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogMVxyXG4gICAgKSxcclxuICAgIFwiZWJnXCI6IChcclxuICAgICAgICBcIndpZHRoXCI6IDEsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogMVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW86IG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgcHJvZHVjdCwgd2lkdGgpICsgXCIvXCIgKyBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIHByb2R1Y3QsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRlYmctbWVkaWEtYXNwZWN0LXJhdGlvOiBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIGViZywgd2lkdGgpICsgXCIvXCIgKyBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIGViZywgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykgLyB2YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW1hZ2Ugb3ZlcmxheXMgKCBzYXNoZXMgKSAtLS0gLS1cclxuJGltYWdlLW92ZXJsYXktdXJsOiAnL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzLyc7XHJcbiRpbWFnZS1vdmVybGF5LXBvc2l0aW9uOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBHcm91cCBvdmVybGF5cyAoIEVCRydzICkgLS0tXHJcbiRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlcjogKFxyXG4gICAgc3BlY2lhbC1vZmZlcjogNSxcclxuICAgIGZlYXR1cmVkLWl0ZW06IDQsXHJcbiAgICBiZXN0LXNlbGxlcjogM1xyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RvY2sgT3ZlcmxheXMgKCBzaW5nbGUgcHJvZHVjdCAmIHN0b2NrbGluZSApIC0tLVxyXG4kcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlcjogKFxyXG4gICAgc3BlY2lhbC1vZmZlcjogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpLFxyXG4gICAgZmVhdHVyZWQtaXRlbTogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pLFxyXG4gICAgYmVzdC1zZWxsZXI6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlciksXHJcbiAgICBwcmV2aW91c2x5LXB1cmNoYXNlZDogNixcclxuICAgIGNvbnRyYWN0LWl0ZW06IDdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFZpZGVvIFBsYXllciAtLS0tLVxyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zLFxyXG4gICAgaG92ZXI6IC0td2hpdGUtY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogaG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQ2F0ZWdvcnkgLS0tLS0tXHJcbiRjYXRlZ29yeS1ncm91cC1ob3Zlci1zY2FsZTogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLS0gXHJcbi8vIC0tLSBHZW5lcmFsIExpc3RpbmcgU3R5bGVzIC0tLSBcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemU6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuJHZpZXdJY29uRGltZW50aW9uczogMTZweCAhZGVmYXVsdDtcclxuJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM6IDE2cHggIWRlZmF1bHQ7XHJcbi8vIFNlY3Rpb24gaGVhZGluZ3MgKCByZWNvbW1lbmRlZCByZXN1bHRzIC8gcHJpbnRlciB3aXphcmQgKVxyXG4kc2VjdGlvbi1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbjogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLWNvbG91cjogJGhlYWRpbmctMS1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIFJlY29tbWVuZGVkIHJlc3VsdHMuXHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbjogKFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBJdGVtcyBmb3VuZC5cclxuJHNvcnRpbmctaXRlbXMtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kc29ydGluZy1pdGVtcy1mb3VuZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG5cclxuLy8gRG93bmxvYWQgb3B0aW9uLlxyXG4kc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwOiAxMHB4ICFkZWZhdWx0OyBcclxuJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aDogKCRjb21tb24tcnVsZS13ZWlnaHQgKiAyKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNvcnRpbmcgb3B0aW9ucyBzZXR0aW5ncy5cclxuLy8gQ29udGFpbmVyIHNldHRpbmdzLlxyXG4kc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDE1cHggLy8gcmVkdWNpbmcgZnJvbSAxMHB4IDIwcHggdG8gMTBweCAxNXB4IHRvIGFsbG93IGZvciBtb3JlIHNwYWNlIGZvciBhIHZhcml0eSBvZiBjb250cm9scy5cclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIE9wdGlvbnMgc2V0dGluZ3MuXHJcbiRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0OiAxM3B4ICFkZWZhdWx0OyBcclxuJHBhZ2luYXRpb24tbGFiZWwtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XHJcbiRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCksXHJcbiAgICBob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCksXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS13aGl0ZS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg6IDIxNXB4ICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZTogKFxyXG4gICAgY291bnQ6IDIsXHJcbiAgICBmaWx0ZXItdG9nZ2xlOiAxLFxyXG4gICAgY2FsbC1zZWFyY2g6IDMsXHJcbiAgICBzb3J0LWJ5OiA1LFxyXG4gICAgdmlldzogNixcclxuICAgIHBlci1wYWdlOiA0LFxyXG4gICAgcGFnaW5hdGlvbjogN1xyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3A6IChcclxuICAgIGNvdW50OiAxLFxyXG4gICAgZmlsdGVyLXRvZ2dsZTogMixcclxuICAgIGNhbGwtc2VhcmNoOiAzLFxyXG4gICAgc29ydC1ieTogNCxcclxuICAgIHZpZXc6IDUsXHJcbiAgICBwZXItcGFnZTogNixcclxuICAgIHBhZ2luYXRpb246IDdcclxuKSAhZGVmYXVsdDtcclxuJGl0ZW1zLXBlci1saXN0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTAlLFxyXG4gICAgbGFyZ2U6IDE3JVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b206IChcclxuICAgIGxhcmdlOiAxMC4yNnB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBsaXN0IHNldHRpbmdzIC0tLVxyXG4kcHJvZHVjdC1saXN0LWNvbnRlbnQtbWFyZ2luLWxlZnQ6IDUzcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3Qtc29ydC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gUHJvZHVjdCBsaXN0IGl0ZW0gc2V0dGluZ3MuXHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWNvbG91cjogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLXdlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZm9udC1zaXplOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA6IDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMjBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1xdWFudGl0eS1kZXNrdG9wLW1heC13aWR0aDogMzQwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWltYWdlLXdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aDogMTMwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWxvZ2dpbi1idXR0b24td2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDIwJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTElXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQcm9kdWN0IGxpc3QgaXRlbSBjb21wb25lbnQgb3JkZXIuXHJcbiRwcm9kdWN0LWxpc3QtaW1hZ2Utb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZGVzY3JpcHRpb24tb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtY29kZS1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1wcmljZS1vcmRlcjogMyAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1xdWFudGl0eS1wcmljZS1mYXZvdXJpdGVzLW9yZGVyOiA1ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LW5vdC1sb2dnZWQtaW4tb3JkZXI6IDYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBMaXN0IEdyaWQgU2V0dGluZ3MgLS0tLVxyXG4kcHJvZHVjdC1saXN0LWdyaWQtY29udGVudC1wYWRkaW5nOiAwIDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1jb2xvdXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgaG92ZXIpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gUHJvZHVjdCBsaXN0IGdyaWQgY29tcG9uZW50IG9yZGVyLlxyXG4kcHJvZHVjdC1saXN0LWdyaWQtYW5jaG9yLWJsb2NrLW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtc3RvY2staW5kaWNhdG9yLW9yZGVyOiAzICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtcHJpY2VzLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtYnV0dG9ucy1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLW5vdC1sb2dnZWQtaW4tb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1zdG9ja2xpbmUtYnV0dG9uOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtbGFiZWwtdmFsdWUtYWxpZ21lbmVudDogaWYoJHByaWNlLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsIGF1dG8sIDApICFkZWZhdWx0O1xyXG5cclxuLy8gVE9ETzogSSBrbm93IHRoaXMgaXMgbWVzcyBhbmQgaGFzIGdvbmUgdGhyb3VnaCBtYW55IHJlZmFjdG9ycy4uLi4gXHJcbi8vIC0tLSBQcm9kdWN0IExpc3QgTGlzdCBTZXR0aW5ncyAtLS0tXHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c6ICRib3hTaGFkb3czICFkZWZhdWx0O1xyXG4vLyBMb2dpbiAvIHN0b2NrbGluZSBidXR0b24gd2lkdGguXHJcbiRsb2dpbi1zdG9ja2xpbmUtd2lkdGg6IDI1JSAhZGVmYXVsdDtcclxuLy8gRmF2b3VyaXRlcyBjb2x1bW4gd2lkdGggKCBEZXNrdG9wIClcclxuJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg6IDI1JSAhZGVmYXVsdDtcclxuLy8gdGFibGUgaXRlbSBjb250cm9scy5cclxuJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpbHRlcnMgLyBTZWFyY2ggQXR0cmlidXRlcyAtLS0gXHJcbi8vIEdlbmVyYWwgc2V0dGluZ3MgXHJcbiRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGluZy0xLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtZGVza3RvcC1jb250YWluZXItbWF4LXdpZHRoOiAyODBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aDogMjQwcHggIWRlZmF1bHQ7XHJcbi8vIEZpbHRlcnMgbW9iaWxlIHRvZ2dsZS5cclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgdW4tc3R1Y2s6ICRjb2xvdXI0LTYsXHJcbiAgICBzdHVjazogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyOiAoXHJcbiAgICB1bi1zdHVjazogJGNvbG91cjQsXHJcbiAgICBzdHVjazogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXJzIGhlYWRlci5cclxuJGZpbHRlcnMtaGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLWZvbnQtc2l6ZTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctbW9iaWxlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTYgIWRlZmF1bHQ7XHJcbi8vIEFwcGxpZWQgYXR0cmlidXRlKHMpXHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaWNvbi1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hbGwtY29sb3VyOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91ciAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXNpemU6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4vLyBPcHRpb24gaGVhZGluZ1xyXG4kZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjogMjVweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTokcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIEF0dHJpYnV0ZXNcclxuJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29sb3VyIHByZXZpZXdcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGg6IDEwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWhlaWdodDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuLy8gUHJpY2Ugc2xpZGVyXHJcbiRmaWx0ZXJzLXBzLWlucHV0LXdpZHRoOiA3MHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWlucHV0LWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBTaG93IG1vcmUgLyBsZXNzIGF0dHJpYnV0ZXNcclxuJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgLS0tLS0gXHJcblxyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4vLyBNYXJnaW4gLyBQYWRkaW5nIHRvcCArIGJvdHRvbS5cclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBsYXJnZTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCAxNXB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDI1cHgsXHJcbiAgICBsYXJnZTogMTBweCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDE1cHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCA1cHggMCxcclxuICAgIGxhcmdlOiA0MHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBJbWFnZSAtLS0gXHJcbiRwcm9kdWN0LWltYWdlLXdpZHRoOiA1NTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IE1haW4gaGVhZGluZyAtLS0gXHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplOiAyOCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDogMzRweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSAhZGVmYXVsdDtcclxuLy8gQ29kZSAoIFJlZmVybmVjZSAmIGFsdCByZWZlbmVuY2UgX1xyXG4kcHJvZHVjdC1jb2RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWNvZGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtOiBub25lICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbWVkaXVtOiAyMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgRW5xdWlyeSBCdXkgQnV0dG9uIC0tLVxyXG4kcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIG1lZGl1bTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmljZSAtLS0gXHJcbiRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemU6IDI4ICFkZWZhdWx0O1xyXG4vLyAtLS0gQWRkaXRpb25hbCBpbWFnZXMgLS0tXHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXdpZHRoOiAzNzVweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtYWN0aXZlLW9wYWNpdHk6IDAuNiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlcjogKFxyXG4gICAgZGVmYXVsdDogMXB4IHNvbGlkICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogMXB4IHNvbGlkICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAxcHggc29saWQgJGNvbG91cjYsXHJcbiAgICBhY3RpdmUtY2xpY2s6IDFweCBzb2xpZCByZ2JhKCRjb2xvdXI2LCAwLjUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdyaWRcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ2FzZSBwcmljZVxyXG4kcHJvZHVjdC1jYXNlLXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBMaWdodGJveCAtLS0tLVxyXG4kbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiAycHggOHB4LFxyXG4gICAgbWFnbmlmaWNhdGlvbi1ob3ZlcjogMnB4IDRweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLWJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuODUpICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udGVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMjBweCAwLFxyXG4gICAgeGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogMTAwLFxyXG4gICAgbWVkaXVtOiA4MCxcclxuICAgIGxhcmdlOiA4NVxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtc2xpZGUtaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAvLyBzZXR0aW5nIHRvIDAgb3RoZXIgaW1hZ2Ugd291bGQgc2NhbGUgb3V0c2lkZSBvZiB0aGUgY29udGFpbmVyIHB1c2hpbmcgdGhlIHBhZ2VyIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LlxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtd2lkdGg6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDQwcHgsXHJcbiAgICBsYXJnZTogNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTZweCxcclxuICAgIGxhcmdlOiAyNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIzLTIsIDAuMykgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2LFxyXG4gICAgbWVkaXVtOiAyMFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaXRlbS1jb3VudC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM6IDMwcHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhZ2VyIC0tLVxyXG4kbGlnaHRib3gtcGFnZXItaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogYXV0byxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoOiAoXHJcbiAgICBtZWRpdW06IDEwMHB4LFxyXG4gICAgbGFyZ2U6IDE3MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBFbnF1aXJ5IERldGFpbHMgLS0tXHJcbi8vIExhYmVsIHZhbHVlIHBhaXJcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zOiBiYXNlbGluZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcDogKFxyXG4gICAgc21hbGw6IDVweCxcclxuICAgIG1lZGl1bTogNXB4IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1jb2xvdXI6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXIgIWRlZmF1bHQ7XHJcblxyXG4vLyBNdWx0aSBsaW5lIGNvbnRhaW5lclxyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1tYXJnaW46IDAgMCAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtY29sb3VyOiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbi8vIExhYmVsICsgdmFsdWUgcGFpclxyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemU6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIFByaWNpbmcuXHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiAxMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMjIwcHgsXHJcbiAgICBtZWRpdW06IDE5MHB4LFxyXG4gICAgbGFyZ2U6IDE5MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDFmcixcclxuICAgIG1lZGl1bTogNTAlLFxyXG4gICAgbGFyZ2U6IDQwJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4vLyBIYXphcmQgU3RhdGVtZW50LlxyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyBTaGFyZVxyXG4kcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXdlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXNpemU6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIE9wdGlvbmFsIGV4dHJhc1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW9wdGlvbmFsLWV4dHJhcy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmV2aW91c2x5IHB1cmNoYXNlZCAtLS0gXHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxNXB4LFxyXG4gICAgbWVkaXVtOiAwIDAgMzVweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbWVkaXVtOiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiAxMHB4IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02KSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05KTtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWl0ZW0tc3BhY2luZzogNDBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2LFxyXG4gICAgbWVkaXVtOiAxNFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1sYWJlbC1mb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1mb250LXNpemU6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXZpZXctb3JkZXItYnV0dG9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IE92ZXJsYXkgTW9kdWxlIC0tLSBcclxuLy8gLS0tIFF1YW50aXR5IFByaWNlIEJyZWFrIC0tLSBcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg6IDQyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1zYXZlLWFtb3VudC1jb2xvdXI6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0LTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1zYXZpbmctY29sLWZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1tYXJnaW46IDE1cHggMCAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1wYWRkaW5nOiAwIDVweCAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXN1cHByZXNzLWhlYWRlci1nYXA6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEdyb3VwZWQgbW9kdWxlcyAtLS1cclxuJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZ3JvdXBlZC1zZWNvbmQtaXRlbS1ib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTsgXHJcbi8vIC0tLSBQcm9kdWN0IE5vdGVzXHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1oZWlnaHQ6IDE0dmggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gU3BlY2lmaWNhdGlvbiAtLS0gXHJcbiRzcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZTogJHByb2R1Y3Qtbm90ZXMtc2l6ZSAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1saW5lLWhlaWdodDogJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWNvbG91cjogJHByb2R1Y3Qtbm90ZXMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gQWx0ZXJuYXRpdmUgT3B0aW9ucyAtLS0gXHJcbiRwcm9kdWN0LWFsdC1vcHRpb25zLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUYWJiZWQgU3BlY2lmaWNhdGlvbiAtLS0gXHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtZGVza3RvcC13aWR0aDogZml0LWNvbnRlbnQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtcGFkZGluZzogMThweCA4MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWJzLXRpdGxlLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFiLXNwZWNpZmljaWF0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU3RvY2tsaW5lIC0tLVxyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDEwMCVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiA0MCUsXHJcbiAgICBsYXJnZTogMjclXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtb3B0aW9uLWNvbG91cjogKFxyXG4gICAgdW5hdmFpbGFibGU6ICRjb2xvdXIzLTdcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHVuYXZhaWxhYmxlOiAkY29sb3VyMy01XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLW1heC13aWR0aDogNTIwcHggIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0b2NrbGluZS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUmF0aW5nIC0tLS0tIFxyXG4kcmF0aW5nLWljb24tY29sb3VyOiAoXHJcbiAgICBpbmFjdGl2ZTogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDgpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRyYXRpbmctc3VtbWFyeS1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBCYXNrZXQgLS0tLS0gXHJcbi8vIC0tLSBCYXNrZXQgVGFibGUgLS0tIFxyXG4kYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDogMTBweCAwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1yZW1vdmUtYnV0dG9uLWljb24tc2l6ZTogKCRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemUgLyA0KSAhZGVmYXVsdDsgXHJcbi8vIC0tLSBCYXNrZXQgQ29udHJvbHMgLS0tXHJcbiRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIFJlbW92ZSBBbGwgQnV0dG9uXHJcbiRiYXNrZXQtcm0tYWxsLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcmVtb3ZlLWFsbC1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1idXR0b24taWNvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXJtLWFsbC1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBVcGRhdGUgYmFza2V0IGJ1dHRvbi5cclxuJGJhc2tldC11cGRhdGUtaWNvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLXBhZGRpbmc6IDEwcHggMzBweCAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCwgXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWljb24tc2l6ZTogKCRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemUgLyA0KSAhZGVmYXVsdDsgXHJcbiRiYXNrZXQtdXBkYXRlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0yIFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFza2V0IERlbGl2ZXJ5IC0tLSBcclxuJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDMwcHgsXHJcbiAgICBsYXJnZTogMCAwIDM1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYXNrZXQgU3VtbWFyeSAtLS0gXHJcbiRiYXNrZXQtc3VtbWFyeS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMzEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS10b3RhbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktdG90YWwtdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktcGFkZGluZzogNDBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWJhY2tncm91bmQtY29sb3VyOiAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1sYWJlbC1mb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLXZhbHVlLWZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhpZ2hsaWdodGVkLWl0ZW0tY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1jb250YWluZXItbWFyZ2luOiAzMHB4IDAgMjVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNiwgLy8gUmVwbGFjaW5nIHdpdGggc29saWQgY29sb3VyLlxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtcmVtb3ZlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWNhbGxvdXQ6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyLXZhbGlkOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgY29sb3VyLXZhbGlkOiAkY29sb3VyMSxcclxuICAgIGJhY2tncm91bmQtY29sb3VyLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBjb2xvdXItaW52YWxpZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUb3RhbCAoIHN0aWNreSBtb2JpbGUgKVxyXG4kYmFza2V0LXRvdGFsLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC03ICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tLSBDaGVja291dCBCdXR0b25zIC0tLSBcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLXBhZGRpbmc6IDEycHggNXB4ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGFnZS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1wYXlwYWwtYnV0dG9uLXBhZGRpbmc6IDEycHggNXB4ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogI2ZmYzQzOSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENoZWNrb3V0IFJldHVybmluZyBDdXN0b21lciAtLS1cclxuJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogYWRqdXN0LWh1ZShzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LTUsIDEzJSksIDIwJSksIC04JSksXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29udGludWUgc2hvcHBpbmdcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tcGFkZGluZzogMTVweCAzNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBtZXRob2RzIC0tLS0tIFxyXG4vLyBQYXltZW50IG1ldGhvZCBzZWxlY3RvclxyXG4kcGF5bWVudC1jb250YWluZXItbWF4LXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcclxuLy8gVGhpcyBoYXMgYmVlbiB3b3JrZWQgb3V0IHRoZSBzeXN0ZW0gaW4gZmF2b3VyIG9mIHVzaW5nIHRoZSBTQ0EgY2hhbGxlbmdlIGRpbWVuc2lvbnMgaW5zdGVhZC5cclxuLy8gJHBheW1lbnQtY29udGFpbmVyLXdpZHRoOiAoXHJcbi8vICAgICBzbWFsbDogMTAwJSxcclxuLy8gICAgIGxhcmdlOiBjYWxjKCN7bGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKX0gKyAjeyRjaGVja2JveC1kaW1lbnRpb25zfSlcclxuLy8gKSAhZGVmYXVsdDtcclxuJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDUwMHB4LFxyXG4gICAgb3BheW86IDI3cmVtIC8vIFN3aXRjaGluZyB0aGUgcmVtIGFzIHNvbWUgdXNlcnMgd2lsbCB1c2UgZXh0cmVtZSBmb250IHNjYWxpbmcgc28gdGhlIGhlaWdodCB3aWxsIG5lZWQgdG8gc2NhbGUgd2l0aCBmb250LXNjYWxpbmcuXHJcbikgIWRlZmF1bHQ7XHJcbiRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY2NvdW50IEdlbmVyYWwuXHJcbi8vIFNvcnRpbmcuXHJcbiRhY2NvdW50LXNvcnRpbmctbWFyZ2luOiAwIDAgMTBweCAhZGVmYXVsdDtcclxuLy8gUGFzc3dvcmQgcmVzZXQgbmV3IGxpbmsuXHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1tYXJnaW46IDAgMCAzMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTG9va3VwcyAtLS0tLVxyXG4vLyAtLS0gUG9zdGNvZGUgbG9va3VwIHYxICggU2luZ2xlIEZpZWxkICkgLS0tXHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLXBhZGRpbmc6IDEycHggMTNweCAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGxvb2t1cHMtcmVzdWx0cy1oaWdobGlnaHRlZC10ZXh0LWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tXHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbWVkaXVtOiA1MHB4IDglLFxyXG4gICAgbGFyZ2U6IDUwcHggMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IDI1cHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW50ZXJhY3RpdmUgTWFwICggU3RvY2tpc3QgKSAtLS0tLVxyXG4kaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuLy8gbG9jYXRpb24gYnV0dG9uIHByaW1hcmlseSB1c2VkIGZvciB0aGUgZ2VvbG9jYXRpb24gbG9va3VwLlxyXG4kbG9jYXRpb24tYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbG9jYXRpb24pLFxyXG4gIHBvc2l0aW9uOiBhZnRlcixcclxuICBtYXJnaW46IDAgMCAwIDQwcHgsXHJcbiAgY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRsb2NhdGlvbi1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuICApLFxyXG4gIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBTaXRlIE1hcCAtLS0tLVxyXG4kc2l0ZS1tYXAtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbWFwLXBhcmVudC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBTaXRlIExpc3QgLS0tLS0tXHJcbiRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTUsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICRzaXRlLWxpc3QtbG9nby1tYXJnaW4sXHJcbiAgICBsYXJnZTogJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tcGFkZGluZzogMzBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkc2l0ZS1saXN0LWxvZ28tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjogMTBweCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaXMgZm9yIGNhcmQgdmlldyBhbmQgdGFibGUgaW4gbW9iaWxlICggaS5lIG5vdCBkZXNrdG9wIHRhYmxlICkuXHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGltZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg6IDQwJSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQ6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMzBweCAwIDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZzogMTBweCAxNXB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCksXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBBeGlzIFNlY3Rpb25zIC0tLS0tXHJcbiRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFlvdXIgQWNjb3VudCAtLS0tLSBcclxuJGFjY291bnQtcGFnZXMtaXRlbS1ncmlkLW1hcmdpbjogMDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0td2hpdGUtY29sb3VyKSxcclxuICAgIGhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS13aGl0ZS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IG5hbWluZyBjb252ZW50aW9ucyBuZWVkIHRvIGJlIHJlZG9uZSBhcyB0aGlzIGlzIG5vIGxvbmdlciBhY2NvdW50IHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkuXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNSxcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGhvdmVyLWFsdDogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmUtYWx0OiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzLTYsXHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSlcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgICAgICBkaXNhYmxlZDogJGNvbG91cjNcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGFjY291bnQtcGFnZS1pdGVtLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0OyBcclxuJGFjY291bnQtcGFnZS1pdGVtLWFuY2hvci1wYWRkaW5nOiAzNXB4IDIwcHggMzBweCAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBhY2NvdW50LXBhZ2U6IDcwMCxcclxuICAgIGFjY291bnQtbWVudTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBob3Zlci1hbHQ6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlLWFsdDogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ci5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3ZlciksXHJcbiAgICBob3Zlci1hbHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXItYWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgYWN0aXZlLWFsdDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUtYWx0KSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXJcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuLy8gSWYgdGhlIHByaW1hcnkgY29sb3VyIGRvZXMgbm90IGNvbnRyYXN0IGFnYWluc3QgdGhlIHRleHQgc2V0IHRoaXMgdG8gdHJ1ZS5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tdXNlLXNlY29uZGFyeS1jb2xvdXI6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFRPRE86IG9uY2UgdGhlIG9sZCBhY2NvdW50IGdyaWQgaGFzIGJlZW4gcmVwbGFjZSB3aXRoIHRoZSBuZXcgc2Vjb25kIHRoaXMgY2FuIGRvLlxyXG4kYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplOiAoXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogNDVweCxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogMTNweCxcclxuICAgIGNvbnRyYWN0LWl0ZW1zOiA2NXB4LFxyXG4gICAgZmF2b3VyaXRlczogNDVweCxcclxuICAgIHZpZXctb3JkZXJzOiA1NXB4LFxyXG4gICAgcmVjZW50bHktcHVyY2hhc2VkOiA2NXB4LFxyXG4gICAgbWFuYWdlLWNhcmRzOiAzNXB4LFxyXG4gICAgc3RhdGVtZW50OiA0NXB4LFxyXG4gICAgbWFuYWdlLXVzZXJzOiA1NXB4LFxyXG4gICAgYnJhbmNoLXN3aXRjaGVyOiA2MHB4LFxyXG4gICAgY29udGFjdC1wcmVmZXJlbmNlczogNjBweCxcclxuICAgIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOiA2MHB4LFxyXG4gICAgdXBsb2FkLWJhc2tldDogNDVweCxcclxuICAgIHVwbG9hZC1vcmRlcjogNDVweCxcclxuICAgIGxvZ291dDogNDVweCxcclxuICAgIG1hbmFnZS1jYWxsczogNDVweCxcclxuICAgIHNlcnZpY2UtY29udHJhY3RzOiA0NXB4LFxyXG4gICAgY3VzdG9tZXItYXNzZXRzOiA0NXB4LFxyXG4gICAgcGF5bWVudC1yZXF1ZXN0czogNDVweCxcclxuICAgIGRvd25sb2FkLXByaWNlLWxpc3RzOiA0NXB4LFxyXG4gICAgc2l0ZS1saXN0OiA0NXB4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiA0NXB4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOiA0NXB4LFxyXG4gICAgZGVmYXVsdC1pY29uOiA0NXB4LFxyXG4gICAgb25saW5lLWRvY3VtZW50YXRpb246IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZTogKFxyXG4gICAgZGVmYXVsdDogMzBweCxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogOHB4LFxyXG4gICAgY2hhbmdlLWRldGFpbHM6IDI1cHgsXHJcbiAgICBtYW5hZ2UtY2FyZHM6IDIzcHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6IDI1cHgsXHJcbiAgICBsb2dvdXQ6IDI1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0gVmlldyBPcmRlciAtLS1cclxuJHByaWNlLWRyb3AtZm9udC1zaXplOiAxMSAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtYXJyb3ctY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4IDIwcHgsXHJcbiAgICBsYXJnZTogMzBweCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWw6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDE3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1hbmFnZSBDYWxscyAtLS0gXHJcbiRjYWxsLWVucXVpcnktaWNvbi1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1jb250ZW50LWxhYmVsLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJG1hbmFnZS1jYWxscy10YWJsZS1oZWFkaW5nLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4vLyBSYXRpbmcuXHJcbiRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTogMjIuNXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTWFuYWdlIFVzZXJzIC0tLVxyXG4kdXNlcnMtZm91bmQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHVzZXJzLWZvdW5kLWNvdW50LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIFRhYmxlLlxyXG4kdXNlcnMtdGJvZHktZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHVzZXJzLXRib2R5LWNvbnRhY3QtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXRib2R5LWNvbnRhY3QtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4vLyBSZW1vdmUgdXNlciBidXR0b24gKCBsaXN0IClcclxuJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zOiAyMHB4ICFkZWZhdWx0OyBcclxuJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFZpZXcgLyBFZGl0IHVzZXJcclxuJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLWljb24tc2l6ZTogKCRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplIC0gMikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMTUwcHgsXHJcbiAgICBoZWlnaHQ6IDczMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXBhZGRpbmc6IDI1cHggMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtdGFibGUtYnJhbmNoLWNvbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8gdmlldyAvIGVkaXQgdXNlclxyXG4kdXNlcnMtcG9wdXAtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDExNTBweCxcclxuICAgIGhlaWdodDogNzMwcHhcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXNlYXJjaC1tYXgtd2lkdGg6IDYyMHB4ICFkZWZhdWx0O1xyXG4kdXNlcnMtc2VhcmNoLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBCcmFuY2ggc2VsZWN0b3IgLS0tLS0gXHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg6IDEyMHB4ICFkZWZhdWx0O1xyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC1jb2xvdXI6ICR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBNYW5hZ2UgUGF5bWVudCBDYXJkcyAtLS0tLSBcclxuJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBheW1lbnQgRnJhbWUuXHJcbiRwYXltZW50LWZyYW1lLXBvcHVwLW1heC13aWR0aDogMTE1MHB4ICFkZWZhdWx0O1xyXG4kcGF5bWVudC1mcmFtZS1tYXgtd2lkdGg6IDYzMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBTdGF0ZW1lbnQgLS0tLS0gXHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDMpICFkZWZhdWx0O1xyXG4kc3RhdGVtZW50LWJhbGFuY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHN0YXRlbWVudC1iYWxhbmNlLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFRva2VucyAtLS0tLSBcclxuJHRva2Vucy10YWJsZS1wYWRkaW5nOiAyMDBweCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBzZWN0aW9uIGNvbG91cnMgLS0tLS1cclxuJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VyczogKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2UgYmFja2dyb3VuZCBjb2xvdXJzIC0tLS0tIFxyXG4kcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIGJhY2tncm91bmQgaW1hZ2VzIC0tLS0tXHJcbiRwYWdlLWJhY2tncm91bmQtaW1hZ2VzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tLS0gRm9vdGVyIC0tLS0tIFxyXG4vLyBJZiB1c2luZyBGb290ZXIgbGF5b3V0IDIgdGhlbiB5b3UgY2FuIHVzZSB0aGlzIHRvIHF1aWNrbHkgY2VudGVyYWxpc2UuXHJcbiRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItdG9wOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2U6IFwiL2NvbnRlbnQvaW1hZ2VzL2Zvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZS5wbmdcIiAhZGVmYXVsdDtcclxuXHJcblxyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplOiA0cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gRm9vdGVyIGdyaWQgKCBjb250ZW50IGNvbnRhaW5lciApXHJcbiRmb290ZXItZ3JpZC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuJGZvb3Rlci1ncmlkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcDogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXVybDogKFxyXG4gICAgc21hbGw6ICdodHRwczovL3BpY3N1bS5waG90b3MvaWQvMTMvMzIwLzUwMCcsXHJcbiAgICBsYXJnZTogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8xMy8xMzAwLzMwMCdcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDUwMHB4LFxyXG4gICAgbGFyZ2U6IDMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1tYXJnaW4tdG9wOiAyNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFyZ2luLXRvcDogNTBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAxMHB4LFxyXG4gICAgbWVkaXVtOiA3MHB4IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiA3MHB4IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA1MCVcclxuKSAhZGVmYXVsdDtcclxuLy8gVHlwaWNhbGx5IHRoaXMgZ2VuZXJhbGx5IGRvZXNuJ3QgbmVlZCB0byBiZSBzZXQgZHVlIHRvIGFsbG93aW5nIHRoZSBjb250ZW50IGRlZmluZSB0aGUgd2lkdGguXHJcbiRmb290ZXItcHJvbW90aW9ucy13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtb3JkZXI6IChcclxuICAgIG1haWxpbmctbGlzdDogMSxcclxuICAgIHNvY2lhbC1pY29uczogMixcclxuICAgIHRleHRkYjogM1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtczogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBjZW50ZXIsIG51bGwpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYWNrIHRvIFRvcCAtLS1cclxuJGJhY2stdG8tdG9wLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3cHgsXHJcbiAgICBsYXJnZTogMjJweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTBweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNTBweCxcclxuICAgIGxhcmdlOiA2MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2U6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJvcmRlci1yYWRpdXM6IDEwcHggIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGJhY2stdG8tdG9wLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tIExpc3QgLS0tIFxyXG4kZm9vdGVyLWxpc3QtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4vLyBSZXZlcnNlIGZvb3RlciBsaXN0ICYgc29jaWFscyBlbGVtZW50cyBvcmRlci5cclxuJGZvb3Rlci1saXN0LW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1hcmVhLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtcmV2ZXJzZS1vcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtbWFyZ2luLXRvcDogMzVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg6IDIzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMC41cHgsXHJcbiAgICBsYXJnZTogMCAwIDIxcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZy1ib3R0b206IDIxcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvci1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbW9iaWxlLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWxpbmUtaGVpZ2h0OiAkZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9yczogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIE1haW4gbWVudSAoIHRoaXMgaXMgYSBuZXcgY29uY2VwdCBzbyBub3QgYWxsIGNvbmZpZyBvcHRpb25zIHdpbGwgYmUgaGVyZSApXHJcbiRmb290ZXItbWFpbi1tZW51LWZsZXgtZ3JvdzogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWluLW1lbnUtZGVza3RvcC1tYXgtd2lkdGg6IDUwJSAhZGVmYXVsdDtcclxuLy8gQWx0IG1lbnVcclxuJGZvb3Rlci1hbHQtbWVudS1saXN0LWl0ZW0td2lkdGg6IGF1dG8gIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtYW5jaG9yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1saXN0LWl0ZW0tc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1maXJzdC1jaGlsZC1zdXBwcmVzcy1wYWRkaW5nOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgUHJvbW90aW9uIEhlYWRpbmcgLS0tIFxyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDE1cHgsXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgTG9nbyAtLS0gXHJcbiRmb290ZXItbG9nby13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwJSxcclxuICAgIG1lZGl1bTogNDAlLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1sb2dvLWhlaWdodDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxvZ28tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDb250YWN0IERldGFpbHMgLS0tXHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBtYXAtZ2V0KCRmb290ZXItcGFyZW50LXBhZGRpbmcsIHNtYWxsKSxcclxuICAgIGxhcmdlOiBtYXAtZ2V0KCRmb290ZXItcGFyZW50LXBhZGRpbmcsIGxhcmdlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIHJldmVhbCBidXR0b24gLS0tIFxyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tcGFkZGluZzogMTVweCAzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC01XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIE1haWxpbmcgbGlzdCAtLS0gXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstcGFkZGluZzogMTBweCAxNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0OyBcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogZml0LWNvbnRlbnRcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaWNvbi1jb25maWc6IChcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1haWwpLFxyXG4gICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgY29sb3VyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91cixcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgIHNpemU6IDE2cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgNTVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFNldCB0byBudWxsIHRvIGZvbGxvdyBkZWZhdWx0IGV4cHJlc3Mgc3R5bGluZy5cclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyLWluY2x1ZGUtYnV0dG9uOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ci1pbmNsdWRlLWJ1dHRvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ01TIGNvbnRlbnQgY29udGFpbmVyIC0tLSBcclxuLy8gVGhpcyBjb21wb25lbnQgaXMgZmFpcmx5IGZyZWUgZm9ybSBhcyBpdCBjYW4gY2hhbmdlIHF1aXRlIHJhZGljYWxseSBvbiBhIHNpdGUgYnkgc2l0ZSBiYXNpcy5cclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiByb3dcclxuKSAhZGVmYXVsdDtcclxuLy8gU3R5bGUgdGhlIGgyJ3MgbGlrZSB0aGUgbGlzdCBwYXJlbnQuXHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItbWFyZ2luOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1jb2xvdXI6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC1zaXplOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1tYXJnaW46IDAgMCAxNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgU2VwZXJhdG9ycyAtLS0gXHJcbiRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0OiAoXHJcbiAgICB3aWR0aDogMTAwJSxcclxuICAgIGhlaWdodDogMnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VycGVyYXRvci1jb2xvdXI6IHJnYmEoJGNvbG91cjEsIDAuMykgIWRlZmF1bHQ7XHJcbi8vIENvbnRlbnRcclxuJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLCBcclxuICAgIGxhcmdlOiByb3dcclxuKSAhZGVmYXVsdDtcclxuLy8gSnVzdGlmeSBvbmx5IGZvciBkZXNrdG9wIGFzIGl0IGRvZXNudCBtYWtlIHNlbnNlIGZvciBtb2JpbGUgZGV2aWNlcy5cclxuJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgd2lkdGgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tZW51LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDTVMgLS0tIFxyXG4kZm9vdGVyLWNtcy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZTtcclxuLy8gLS0tIENvcHlyaWdodCAtLS1cclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCBhdXRvIDAsXHJcbiAgICBsYXJnZTogMzVweCBhdXRvIDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci13aWR0aDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgd2lkdGgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItbWFyZ2luOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXBhZGRpbmc6IDM1cHggMCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBjZW50ZXIsXHJcbiAgICBsYXJnZTogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itc2l6ZTogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtbWluaWZpZWQtbGF5b3V0LWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBiYW5uZXIgc2VyaWVzIC0tLSBcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLWJhbm5lci1pbWFnZS13aWR0aDogNjBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgYXV0byAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDIwcHggMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDYwcHggMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItd2lkdGg6IDFweCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAgMCAyNC41cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgYXV0bywgMCksXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIHNwYWNpbmctdmFsdWVzLlxyXG4kZm9vdGVyLWJhbm5lci1pbWFnZS1tYXJnaW46IChcclxuICAgIHRvcDogNjBweCwgXHJcbiAgICByaWdodDogMjBweCwgXHJcbiAgICBib3R0b206IDI1cHgsIFxyXG4gICAgbGVmdDogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItYmFubmVyLWdyYXlzY2FsZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBTb2NpYWwgTWVkaWEgSWNvbnMgTW9kdWxlIC0tLS0tXHJcbi8vIC0tLSBTb2NpYWwgaWNvbnMgY29tbW9uIC0tLSBcclxuJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zOiAzNXB4ICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG4vLyBUaGVyZSBhcmUgdHdvIGNvbG91ciBtb2RlczpcclxuLy8gc2l0ZS1zcGVjaWZpYzogbWF0Y2hlcyB0aGUgY3VzdG9tZXIncyBzaXRlIGJyYW5kaW5nLlxyXG4vLyBzb2NpYWwtYnJhbmRpbmc6IGZvbGxvd3MgdGhlIGJyYW5kIGd1aWRlbGluZXMgb2YgZWFjaCBzb2NpYWwgcGxhdGZvcm0uXHJcbiRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZTogJ3NpdGUtc3BlY2lmaWMnICFkZWZhdWx0O1xyXG4vLyAtLS0gU29jaWFsIGljb25zIHByb2R1Y3QgcGFnZSAtLS1cclxuJHByb2R1Y3Qtc29jaWFsLWljb25zLWZsb2F0OiByaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtc29jaWFsLWljb25zLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4vLy0tLSBTb2NpYWwgSWNvbnMgZm9vdGVyIC0tLVxyXG5cclxuLy8gLS0tLS0gVEVNUCBSRVNUT1JFIC0tLS0tXHJcbiRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZy1ib3R0b206IDMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwICRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmctYm90dG9tLFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9uczogNDVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbi1kaW1lbnRpb25zOiAoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnMgLyAyKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1czogJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFRFTVAgUkVTVE9SRSBFTkQgLS0tLS1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgc3BhY2luZy12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbiwgMyksXHJcbiAgICBsYXJnZTogMCAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbjogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbkBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIHtcclxuICAgIC8vIER1ZSB0byBzdXBwcmVzc2luZyB0aGUgYmFja2dyb3VuZCB0aGUgaWNvbnMgbWF5IGNvbmZsaWN0IHdpdGggdGhlIGZvb3RlciBiYWNrZ3JvdW5kIGlmIG9uZSBpcyBzZXQgc28geW91IG1heSB3YW50IHRvIG1hbnVhbGx5IG92ZXJyaWRlIHRoZXNlIGNvbG91cnMuXHJcbiAgICAkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgICAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgICAgICBob3ZlcjogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCBcclxuICAgICAgICBhY3RpdmU6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSlcclxuICAgICkgIWRlZmF1bHQ7XHJcbn1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtc3VwcHJlc3MtY29udGFpbmVyLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSAgNDA0ICggZXJyb3Igbm90IGZvdW5kICkgLS0tLS1cclxuJG5vdC1mb3VuZC1sb2dvLXNpemU6IChcclxuICAgIHdpZHRoOiAyMDBweCxcclxuICAgIGhlaWdodDogMTAwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kOiB0cnVlICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICc0MDQuc3ZnJyAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXJlcGVhdDogdHJ1ZSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXNpemU6IDkwcHggMzBweCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC1zaXplOiAyMDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtc2l6ZTogNjAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtc2l6ZTogMjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogKFxyXG4gICAgc21hbGw6IDkwdncsXHJcbiAgICBsYXJnZTogODAwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIxLCAwLjgpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQXhpcyBDb3VudGRvd24gLS0tLS0gXHJcbiRjb3VudGRvd24tZGlzcGxheS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY291bnRkb3duLWRpc3BsYXktY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXI2LFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciAtLS0tLSBcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctc2l6ZTogMjYgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudDogdHJ1ZSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50OiAoXHJcbiAgICBjb2xvdXItMTogJGNvbG91cjMtMSxcclxuICAgIGNvbG91ci0yOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IC0tLS0tXHJcbi8vIC0tLSBIZWFkZXIgLS0tXHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctc2l6ZTogMzUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC1zdHlsZTogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDMwcHggMTBweCxcclxuICAgIGxhcmdlOiAyMHB4IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudDogJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZWxlY3RvcnMgLS0tXHJcbi8vIFdpZHRoIG9ubHkgaW4gZGVza3RvcC5cclxuJHBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyLXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDQwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLyoqIFxyXG4gICAgLS0tLS0gRW1haWwgVGVtcGxhdGVzIC0tLS0tIFxyXG5cclxuICAgIFRISU5LIS4uLi4uLiBMSUtFIFJFQUxMWSBUSElOSyBPVVRMT09LIEJFRk9SRSBNQUtJTkcgQ0hBTkdFUywgdGhpbmdzIHRoYXQgdGhlc2UgdmFyaWFibGVzIHdpbGwgZWZmZWN0OiBcclxuICAgIC0gRnJhZ21lbnRzICggYXJlIGNvbG91cnMgZ2VuZXJpYyApIFxyXG4gICAgLSBPdXRsb29rIFxyXG4gICAgLSBEaXBsb21hdCBlbWFpbCBwYXJhbWV0ZXJzXHJcblxyXG4qKi9cclxuJGVtYWlsLXRlbXBsYXRlLWJhY2tncm91bmQtY29sb3VyOiAjZTBlMGUwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXI6IDY3MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlcjogMjBweCBzb2xpZCAkZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItY29sb3VyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtcHJpY2UtY29sLXdpZHRoOiAxMzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtZ3V0dGVyLXdpZHRoOiAzMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjogJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gRW1haWwgYnV0dG9ucyAtLS1cclxuJGVtYWlsLWJ1dHRvbi13aWR0aDogMjIwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tcGFkZGluZzogMTVweCAyMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gUHJpbWFyeVxyXG4kZW1haWwtYnV0dG9uLXByaW1hcnktY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbi8vIFNlY29uZGFyeVxyXG4kZW1haWwtYnV0dG9uLXNlY29uZGFyeS1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNYWlsaW5nIGxpc3QgdGVtcGxhdGVzIC0tLVxyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LXdpZHRoOiA2NTBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogNTkwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3QtZm9udC1mYW1pbHk6IChcclxuICAgIHRlbXBsYXRlLTE6IFwiQXJpYWxcIlxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIlxyXG5cclxuLy8tLS0tLSBIZWFkaW5ncyAtLS0tIFxyXG4vLyBVc2VkIHRvIGJyZWFrIGNvbnRlbnQgb250byBtdWx0aXBsZSBsaW5lcyBpbiBtb2JpbGUgYnV0IGluIGRlc2t0b3AgaXRzIHVzZWQgdG8gYnJlYWsgY29udGVudCB1cCB3aGlsc3QgcmVtYWluaW5nIG9uIHRoZSBzYW1lIGxpbmUuXHJcbi5tb2JpbGUtYnJlYWsge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xyXG4gICBoMSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSA9PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkgPT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgfSBcclxufVxyXG5cclxuLy8gVGhpcyBpcyB0byBvdmVycmlkZSBGb3VuZGF0aW9uJ3Mgbm9ybWFsaXplci5zY3NzLCB0aGVyZSBpcyBubyBjb25maWd1cmF0aW9uIHdpdGhpbiBzZXR0aW5ncy5zY3NzIHRvIGhhbmRsZSB0aGlzIGFuZCB3ZSBjYW5ub3QgdXNlICFpbXBvcnRhbnQuXHJcbmJvZHkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICB9XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMSkpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTsgXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0yKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpKSBhbmQgbm90IG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyLCBzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTEtcGFkZGluZywgMywgcHJlc2V0LTIpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oMiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDIpKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAkaGVhZGluZy0yLWZvbnQtc3R5bGUge1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkaW5nLTItZm9udC1zdHlsZTtcclxuICAgIH1cclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy0yLWxpbmUtaGVpZ2h0O1xyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTEpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy0yLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0yKSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0yKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGJhc2ljYWxseSB0aGUgcGFnZSBoZWFkaW5nIHN0eWxlcyB3aGVuIHdlIGNhbm5vdCB1c2UgYSBoMSAoIGkuZSBwcm9kdWN0IHBhZ2UgKVxyXG4gICAgJi5wcmVzZXQzIHtcclxuICAgICAgICBAaWYgbm90ICgkcGFnZS1oZWFkaW5nLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTMpKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTMpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMyk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTMpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItYm9yZGVyLXJhZGl1cywgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgICYucHJlc2V0NCB7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC00KSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpZihtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSA9PSBudWxsLDJweCxtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSk7XHJcbiAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC00KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmgzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMykpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkaGVhZGluZy0zLW1hcmdpbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkaGVhZGluZy0zLW1hcmdpbiwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1wYWRkaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oNCB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNC1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDQpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDQpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbmg1IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy01LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNSkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuaDYge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTYtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg2KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg2KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FsbG91dCB0eXBvZ3JhcGh5IC0tLS0tXHJcbi5jYWxsb3V0IHtcclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGg1LCBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgZm9yIGFsaWduaW5nIHRleHQgY2VudGVyIC8gcmlnaHQuXHJcbi50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBNYWtlIHN1cmUgdGhpcyBnZXRzIHNldCB0byBhIGJsb2NrIGVsZW1lbnQgd2hlbiBpbml0aWFsbHkgbWVhc3VyaW5nLlxyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gT25jZSBtZWFzdXJpbmcgaGFzIGNvbXBsZXRlZCBmbGV4Ym94IGlzIHRoZW4gdXNlZCwgYmFzZWxpbmUgbmVlZHMgdG8gZ2V0IHNldCB0byBrZWVwIHRoZSB0ZXh0IHZlcnRpY2FsbHkgaW5saW5lIHdpdGggb3RoZXIgY29sdW1ucy5cclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlIGluIGZvciBsYXJnZSB0YWJsZXRzIHN1Y2ggYXMgSXBhZCdzIHRoZSBjb250YWluZXIgZ29lcyBpbiB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW4uXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBBbmNob3JzIC0tLS0gXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9ycy10ZXh0LWRlY29yYXRpb247XHJcbiAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgLy8gY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRhbmNob3JzLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkYW5jaG9ycy1mb250LXNpemUpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lZGl0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlZGl0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgbmV3cykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbmV3cy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBibG9nKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRibG9nLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGV2ZW50cykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRldmVudHMtYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV4dGVybmFsLWxpbmstaWNvbiB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV4dGVybmFsLWxpbmstaWNvbik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3JzLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcclxuICAgICAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjYpO1xyXG4gICAgICAgIG9wYWNpdHk6ICRrbm9ja0JhY2syO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3thY3RpdmUtY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyMy02KTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IFRoaXMgY2FuIGJlIHBoYXNlZCBvdXQgdXNlIGF0dGFjaG1lbnQtY29udGFpbmVyIGluc3RlYWQuXHJcbiAgICAmLnBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBkZik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgkZmlsZS1pY29ucy1zaXplIC8gMS4zKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBkZik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTGlzdHMgLS0tLS0gXHJcbm9sIHtcclxuICAgIGxpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZXBlcmF0b3JzIC0tLS0tLSBcclxuaHIge1xyXG4gICAgJi5tb2JpbGUtc2VwZXJhdG9yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBBZGRyZXNzIEZvcm1hdHRpbmcgLS0tLS1cclxuYWRkcmVzcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gSWYgdGhpcyBpcyBtYWRlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgZnV0dXJlIHRoZW4gcmVjaGVjayBjaGVja291dCBjb21wbGV0ZSBkZWxpdmVyeSAgYWRkcmVzcyBmb250IHN0eWxlIHRvIG1ha2Ugc3VyZSBpdCBpcyBjb25zaXN0ZW50IHdpdGggb3JkZXIgZGV0YWlscy5cclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBJY29ucyAtLS0tLVxyXG4vLyBEdWUgdG8gZGVza3RvcCBoYXZpbmcgYWNjZXNzIHRvIHRvb2x0aXBzICggdGl0bGUgYXR0cmlidXRlICkgd2UgbmVlZCBhIG1lY2hhbmlzbSB0byBkaXNwbGF5IHRoaXMgZm9yIG1vYmlsZSBkZXZpY2VzIGR1ZSB0byB0aGUgYWJzZW5jZSBvZiB0aGUgaG92ZXIgc3RhdGUuXHJcbnNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgLmljb24tdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gUHJpY2luZyAtLS0tLS0gXHJcbkBpbmNsdWRlIHByaWNlKCk7XHJcblxyXG4vLyAtLS0tLSBIb3Jpem9udGFsIFJ1bGVzIC0tLS0tLVxyXG5ociB7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vLS0tLS0gRGlyZWN0aW9ucyAtLS0tLVxyXG4kcG9pbnRVcDogLTEzNWRlZztcclxuJHBvaW50RG93bjogNDVkZWc7XHJcbiRwb2ludFJpZ2h0OiAtNDNkZWc7XHJcbiRwb2ludExlZnQ6IC0yMjNkZWc7XHJcblxyXG5cclxuLy8tLS0tLSBCYW5uZXIgT3ZlcmxheXMgLS0tLS0gXHJcbkBtaXhpbiBvdmVybGF5QmFubmVyKCR3aWR0aCwgJGJnQ29sb3VyOiAnJywgJGNvbG91cjogJyNmZmZmZicpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMDUnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBJY29ucyAtLS0tLVxyXG4vLy0tLSBDaGV2ZXJvbnMgLS0tXHJcbkBtaXhpbiBjaGV2cm9uMSgkY29sb3VyLCAkZGlyZWN0aW9uLCAkZGltZW5zaW9uczogXCJcIikge1xyXG4gICAgaGVpZ2h0OiAkZGltZW5zaW9ucztcclxuICAgIHdpZHRoOiAkZGltZW5zaW9ucztcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJGRpcmVjdGlvbik7XHJcbn1cclxuIFxyXG5AbWl4aW4gY2hldnJvbjMoJGNvbG91ciwgJHNpemUsICRhY3RpdmU6IGZhbHNlLCAkZGlyZWN0aW9uSW5BY3RpdmU6IDE4MGRlZywgJGRpcmVjdGlvbkFjdGl2ZTogMGRlZykge1xyXG4gICAgQGlmICgkYWN0aXZlID09IGZhbHNlKSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjBkZSc7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byAxMHB4O1xyXG4gICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICN7JHNpemV9cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkaXJlY3Rpb25JbkFjdGl2ZX0pO1xyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGRpcmVjdGlvbkFjdGl2ZX0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBTb2NpYWwgLS0tIFxyXG5AbWl4aW4gc29jaWFsMSgkcHJpdmF0ZVVzZUFyZWEsICRjb2xvdXIsICRzaXplLCAkZm9udEZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcycsICRpbnZlcnQ6IGZhbHNlKSB7XHJcbiAgICB3aWR0aDogKDIgKiAkc2l6ZSk7XHJcbiAgICBoZWlnaHQ6ICgyICogJHNpemUpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGlmICgkaW52ZXJ0ID09IHRydWUpIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRwcml2YXRlVXNlQXJlYTtcclxuICAgICAgICB3aWR0aDogKDEuMiAqICRzaXplKTtcclxuICAgICAgICBoZWlnaHQ6ICgxLjIgKiAkc2l6ZSk7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMCAwIDAgMjclO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gSW5wdXQgcmVhZC1vbmx5IC0tLVxyXG5AbWl4aW4gaW5wdXRSZWFkT25seSgkaWNvbi1jb2xvdXI6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCkpIHtcclxuICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vLWFjY2Vzcyk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogKHNwYWNpbmctdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmcsIDIsIGxhcmdlKSAvIDIgKyAxMHB4KTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEhlYWRpbmcgLS0tLS0gXHJcbi8vLS0tIFVuZGVyIGxpbmUgLS0tIFxyXG4vLyBoZWFkaW5nVW5kZXJMaW5lIHdhcyB0aGUgZmlyc3QgYXR0ZW1wdCBvZiB0aGlzIG1peGluIGJ1dCBoYWQgbm8gc3VwcG9ydCBmb3IgaG92ZXIsIGFjdGl2ZSBzdGF0ZXMgKyBoYWQgc3BlY2lmaWMgcGFkZGluZy5cclxuQG1peGluIGhlYWRpbmdVbmRlckxpbmUoJGRpc3BsYXlMaW5lczogMiwgJGNvbG91cjogXCJcIiwgJHVuZGVybGluZUNvbG91cjogXCJcIiwgJHBhZGRpbmctYm90dG9tOiAxNXB4KSB7XHJcbiAgICAvL0lmIG5vIGNvbG91ciBpcyBhc3NpZ25lZCB0aGVuIGRlZmF1bHQgdG8gY29sb3VyNDtcclxuICAgIEBpZiAoJGNvbG91ciA9PSBcIlwiKSB7XHJcbiAgICAgICAgJGNvbG91cjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkdW5kZXJsaW5lQ29sb3VyID09IFwiXCIpIHtcclxuICAgICAgICAkdW5kZXJsaW5lQ29sb3VyOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbTtcclxuICAgIEBpbmNsdWRlIHVuZGVybGluZSgkZGlzcGxheUxpbmVzLCAoZGVmYXVsdDogJHVuZGVybGluZUNvbG91cikpO1xyXG59XHJcbi8vIE5ldyB1bmRlcmxpbmUgbWl4aW4gdGhhdCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGhlYWRpbmdVbmRlckxpbmUuXHJcbkBtaXhpbiB1bmRlcmxpbmUoJGRpc3BsYXktbGluZXMsICR1bmRlcmxpbmUtY29sb3VyOiAoZGVmYXVsdDogbWFwLWdldCgkZGVmYXVsdC11bmxpbmUtY29sb3VycywgZGVmYXVsdCkpLCAkZGVmYXVsdC13aWR0aDogMTAwJSwgJHJ1bGUtaGVpZ2h0OiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQsICRydWxlLXBvc2l0aW9uOiAoYm90dG9tOiAwKSkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkZGVmYXVsdC13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRydWxlLWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgdG9wKSkge1xyXG4gICAgICAgICAgICB0b3A6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIHRvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIHJpZ2h0KSkge1xyXG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgcmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCBib3R0b20pKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgbGVmdCkpIHtcclxuICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vIFN3aXRjaGluZyB0byB1c2luZyBib3JkZXIgcHJvcGVydHkgaW5zdGVhZCBvZiBzZXR0aW5nIGhlaWdodCBhcyBnZXR0aW5nIHdlaXJkIGluY29uc2lzdGFuY2llcyB3aGVuIHRoZSBicm93c2VyIHJlbmRlcnMgdGhlIHJ1bGVzIGJ5IH4uM3B4LiBodHRwczovL2pvaG5yZXNpZy5jb20vYmxvZy9zdWItcGl4ZWwtcHJvYmxlbXMtaW4tY3NzLyAtIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM5MjA5ODg2LzFweC1jYWxjdWxhdGlvbi1pc3N1ZS13aXRoLWJyb3dzZXJzLXN1Yi1waXhlbC1wcm9ibGVtc1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkdW5kZXJsaW5lLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICgkcnVsZS1oZWlnaHQgPiAxIGFuZCBzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC13aWR0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgICAgIC8vIER1ZSB0byBiYWNrZ3JvdW5kLWNvbG9yIGJlaW5nIHN1cHByZXNzZWQgYnkgYmFja2dyb3VuZCBncmFwaGljIG9wdGlvbnMgaW4gYWRkaXRpb25hbCBzZXR0aW5ncywgaW5jcmVhc2luZyB3ZWlnaHQgZm9yIHBvb3IgcXVhbGl0eSBwcmludGVycy5cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogI3soJHJ1bGUtaGVpZ2h0ICsgMSl9IHNvbGlkIG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRkaXNwbGF5LWxpbmVzID4gMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBCdXR0b25zIC0tLS0tXHJcbi8vQnV0dG9uMSBcclxuQG1peGluIGJ1dHRvbjEoJGNvbG91ciwgJGZvbnRTaXplOiAxNSwgJGZvbnRXZWlnaHQ6IDYwMCwgJHBhZGRpbmc6IDE1cHggMjBweCwgJHdpZHRoOiBhdXRvLCAkYmFja2dyb3VuZC1jb2xvdXI6ICgpKSB7XHJcbiAgICAvL0B3YXJuIFwiVGhlIGJ1dHRvbjEoKSBtaXhpbiBpcyBkZXByZWNhdGVkLiBJbmNsdWRlIGNvbW1vbi1idXR0b24tMSgpIGluc3RlYWQuXCI7XHJcbiAgICBAaWYgKCR3aWR0aCA9PSBhdXRvKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIGZvbnQtc2l6ZTogI3skZm9udFNpemV9cHg7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICY6ZW5hYmxlZDpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaWNvbi1idXR0b24oJG1vYmlsZS1hbHQtY29sb3VycyA6IGZhbHNlKSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBidXR0b24uZGlzYWJsZWQsIGEuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXItYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0LWFsdCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIFN1cHByZXNzIGFueSBhbmNob3IgYXJyb3cgaW5kaWNhdG9ycyBpbiBtZW51cy5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXItYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIENlbnRlcmFsaXNlIGljb24gaW4gdGhlIGNvbnRpYW5lci5cclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkZWZhdWx0LWFsdCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodCwgYWNjb3VudC1wYWdlKTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY29tbW9uLWJ1dHRvbi0xKCRwYWRkaW5nOiBcIlwiLCAkYmFja2dyb3VuZDogKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEsIGFjdGl2ZTogJGNvbG91cjYpICwgJGNvbG91cjogKGRlZmF1bHQ6ICRjb2xvdXIxLCBob3ZlcjogJGNvbG91cjQsIGFjdGl2ZTogJGNvbG91cjEsIGRpc2FibGVkOiAkY29sb3VyMy0zKSwgJGJvcmRlci1jb2xvdXI6ICgpLCAkZm9udC1zaXplOiBcIlwiLCAkZm9udC13ZWlnaHQ6IFwiXCIsICRkaW1lbnRpb25zOiAod2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAkbWFyZ2luOiAoc21hbGw6IDEwcHggMCwgbWVkaXVtOiAxMHB4IDAsIGxhcmdlOiAwIDAgMjBweCksICRkaXNwbGF5OiBmbGV4LCAkaWNvbi1jb25maWc6IG51bGwsICRmbGV4LWdyb3c6IGZhbHNlKSB7XHJcblxyXG4gICAgLy8gSW5ob3VzZSBjb2xvdXIgZWRnZSBzdGVwIGVmZmVjdC5cclxuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XHJcblxyXG4gICAgLy8gRGVmYXVsdHMuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gXCJcIiB7XHJcbiAgICAgICAgJHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIH1cclxuICAgIEBpZiAkZm9udC1zaXplID09IFwiXCIge1xyXG4gICAgICAgICRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuICAgIEBpZiAkZm9udC13ZWlnaHQgPT0gXCJcIiB7XHJcbiAgICAgICAgJGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRtYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICRtYXJnaW46IChcclxuICAgICAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgICAgIGxhcmdlOiAwXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUT0RPOiBDQU5OT1QgZG8gY29udHJhc3QtY2hlY2tlciAoIGNvbG91ciBwcm9jZXNzaW5nICkgaGVyZSBqdXN0IHlldCBhcyBzb21lIG1peGluIGNhbGwncyBkbyBub3QgaGF2ZSBhIGZ1bGwgbGlzdCBvZiBjb2xvdXIgbWl4aW4ncyBiZWluZyBwYXNzZWQgaW4gYW5kIHRvIGRvIGEgcmVsaWFibGUgZnVsbGJhY2sgd2l0aCBtYXBzIHdlIG5lZWQgYWNjZXNzIHRvIGZ1bmN0aW9ucyBtYXAtc2V0IG9yIG1hcC1tZXJnZSB3aGljaCB3ZSBjdXJyZW50bHkgZG8gbm90IGFzIHdlIG5lZWQgdG8gdXBkYXRlIGZyb20gUnVieSBTYXNzIHRvIERhcnQgU2FzcyBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi92YWx1ZXMvbWFwc1xyXG5cclxuXHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGRpbWVudGlvbnMsIG1vYmlsZS13aWR0aCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRkaW1lbnRpb25zLCBtb2JpbGUtd2lkdGgpO1xyXG4gICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkZGltZW50aW9ucywgd2lkdGgpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBGYWxsYmFja1xyXG4gICAgJGljb24tcG9zaXRpb246IGJlZm9yZTtcclxuXHJcbiAgICBAaWYgKCRpY29uLWNvbmZpZykgeyBcclxuICAgICAgICAkaWNvbi1wb3NpdGlvbjogbWFwLWdldCgkaWNvbi1jb25maWcsIHBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRkaW1lbnRpb25zLCBtYXgtaGVpZ2h0KTtcclxuICAgIGhlaWdodDogaWYobWFwLWdldCgkZGltZW50aW9ucywgaGVpZ2h0KSA9PSAnJywgMTAwJSwgbWFwLWdldCgkZGltZW50aW9ucywgaGVpZ2h0KSk7XHJcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcclxuICAgIEBpZiAkZGlzcGxheSA9PSBcImZsZXhcIiBvciAkZGlzcGxheSA9PSBcImlubGluZS1mbGV4XCIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmbGV4LWdyb3cpIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAvLyBBZGRpbmcgcG9zaXRpb24gcmVsYXRpdmUgdG8ga2VlcCBhbnkgYWJzb2x1dGUgZWxlbWVudHMgaW5zaWRlIG9mIHRoZSBidXR0b24gKCBpLmUgZ3JhZHVhdGVkLWNvbG91ci1lZGdlIClcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sICN7c21hbGwtdmFsdWUoJG1hcmdpbil9KTtcclxuICAgIC8vIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAkcGFkZGluZyk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkY29tbW9uLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaWYgKCRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGlmKCRmb250LXdlaWdodCA+PSA2MDAsICRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nLXVwcGVyY2FzZS1ib2xkLCAkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZyk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiAkY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGVmYXVsdCkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRjb21tb24tYnV0dG9uLWxpbmUtaGVpZ2h0OyAgICBcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi4uLi5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJG1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sICN7bWVkaXVtLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRkaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgI3tsYXJnZS12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgfVxyXG4gICAgLy8gT25seSBhcHBseSBob3ZlciBlZmZlY3QgaWYgZGV2aWNlIHN1cHBvcnRzIGl0ICggaS5lIG5vdCBpbiBtb2JpbGUgKSB0byBhdm9pZCB0aGUgc3RpY2t5IGhvdmVyIGVmZmVjdC5cclxuICAgIC8vIGh0dHBzOi8vaXRuZXh0LmlvL2ZpbmFsbHktYS1jc3Mtb25seS1zb2x1dGlvbi10by1ob3Zlci1vbi10b3VjaHNjcmVlbnMtYzQ5OGFmMzljMzFjXHJcbiAgICAvLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NvbHZpbmctc3RpY2t5LWhvdmVyLXN0YXRlcy13aXRoLW1lZGlhLWhvdmVyLWhvdmVyL1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyLCAmLmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGFjdGl2ZSkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpOztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6ZGlzYWJsZWQ6aG92ZXIsICYuZGlzYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBjb25maWd1cmF0aW9uLlxyXG4gICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXHJcbiAgICAgICAgXHJcbiAgICAgICAgJGljb24tcG9zaXRpb246IG1hcC1nZXQoJGljb24tY29uZmlnLCBwb3NpdGlvbik7XHJcbiAgICAgICAgLy8gRmFsbGJhY2tcclxuICAgICAgICBAaWYgbm90ICgkaWNvbi1wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAkaWNvbi1wb3NpdGlvbjogYmVmb3JlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGljb24tY29uZmlnLCBjb250ZW50KTtcclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgbWFyZ2luKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGljb24tY29uZmlnLCBmb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkaWNvbi1jb25maWcsIHNpemUpO1xyXG4gICAgICAgICAgICAvLyBJZiB1c2luZyBhIGZvbnRlbGxvIGxpYnJhcnkgdGhlbiBtYWtlIHN1cmUgdGhlIGZvbnQtd2VpZ2h0IGlzIHNldCB0byA0MDAgb3RoZXJ3aXNlIGEgd2VpcmQgYm9yZGVyIGVmZmVjdCBpcyBhcHBsaWVkICggdGhpcyBpcyBsYXJnZWx5IGR1ZSB0byBvbmx5IGhhdmUgdGhlIGZvbnRzIGluIDEgd2VpZ2h0ICkuXHJcbiAgICAgICAgICAgIEBpZiAoc3RyLWluZGV4KFwiZm9udGVsbG9cIiwgbWFwLWdldCgkaWNvbi1jb25maWcsIGZvbnQtZmFtaWx5KSkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBSZWFkIG1vcmUgYnV0dG9uIC8gYW5jaG9yIC0tLSBcclxuQG1peGluIHJlYWRNb3JlU3VmZml4KCkge1xyXG4gICAgQGlmICRyZWFkLW1vcmUtc3VmZml4LWljb24ge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRyZWFkLW1vcmUtc3VmZml4LWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHJlYWQtbW9yZS1zdWZmaXgtY3VzdG9tLWljb24pO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gQ2xvc2UgQnV0dG9uIC0tLSBcclxuQG1peGluIGNsb3NlQnV0dG9uICgkc2l6ZTogJGljb24tc2l6ZSwgJGRlZmF1bHQtY29sb3VyOiBcIlwiLCAkaG92ZXItY29sb3VyOiBcIlwiLCAkYWN0aXZlLWNvbG91cjogXCJcIikge1xyXG5cclxuICAgIC8vIEZhbGxiYWNrcy5cclxuICAgIEBpZiAkZGVmYXVsdC1jb2xvdXIgPT0gXCJcIiB7XHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGRlZmF1bHQtY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRob3Zlci1jb2xvdXIgPT0gXCJcIiB7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBhZ2FpbnN0IHdoaXRlIGFzIHRoaXMgYnV0dG9uIG9uIFwibW9zdFwiIGNhc2VzIGFwcGVhcnMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhvdmVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG4gICAgQGlmICRhY3RpdmUtY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBhZ2FpbnN0IHdoaXRlIGFzIHRoaXMgYnV0dG9uIG9uIFwibW9zdFwiIGNhc2VzIGFwcGVhcnMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRhY3RpdmUtY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNsb3NlLWJ1dHRvbik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC1jb2xvdXIgIT0gXCJcIikge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAoJHNpemUgKiAxLjIpO1xyXG4gICAgICAgICAgICBAaWYgKCRob3Zlci1jb2xvdXIgIT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBUYWJsZSBsYXlvdXQgaW4gbW9iaWxlLlxyXG5AbWl4aW4gZ3JpZC10YWJsZS1sYXlvdXQtbW9iaWxlKCkge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIC8vIFR3byBjb2x1bW4gYXJyYW5nZW1lbnQgd2hpY2ggdGhlIGltYWdlIGdldHMgY29tcHJlc3NlZCBvbiBzbWFsbGVyIGRldmljZXMgdG8gZml0IGNlbGwgbWFpbiBjb250ZW50ICggaS5lIGRlc2NyaXB0aW9uLCBwcmljZSAmIGJ1eSBib3hlcyApLlxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgMWZyO1xyXG4gICAgLy8gTXVsdGltZWRpYSBjb250ZW50ID09IEltYWdlcywgdmlkZW9zIG9yIGFuaW1hdGlvbnMuIFRoZSByZXN0IG9mIHRoZSBjb250ZW50IGhhcyBzcGVjaWZpYyBhcmVhJ3MgdGhhdCBpdCBzaXRzIGluICggaS5lIGRlc2NyaXB0aW9uLWNvbCBzaXRzIGluIHRlIGRlc2NyaXB0aW9uIGFyZWEgKVxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtdWx0aW1lZGlhLWNvbnRlbnQgZGVzY3JpcHRpb25cIiBcIm11bHRpbWVkaWEtY29udGVudCBjb2RlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgcHJpY2VcIiBcIm11bHRpbWVkaWEtY29udGVudCBpbnRlcmFjdGl2ZVwiO1xyXG4gICAgLy8gRWFjaCByb3cgZXhjZXB0IHRoZSBwcmljaW5nIHJvdyB0byBtYXRjaCBpdHMgY29udGVudCBoZWlnaHQsIHJlYXNvbiBmb3IgdGhpcyBpcyB0byBhbGxvdyBhbnkgYXZhaWxhYmxlIGhlaWdodCB0byBiZSB0YWtlbiB1cCBieSB0aGUgcHJpY2luZyB0ZXh0IHRoaXMgd2lsbCBhbHNvIHBpbiB0aGUgaW50ZXJhY3RpdmUgZWxlbWVudHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgY2VsbC5cclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xyXG4gICAgLy8gRGlzdGFuY2UgYmV0d2VlbiBlYWNoIGNvbnRlbnQgY29udGFpbmVyLlxyXG4gICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjtcclxuICAgIH1cclxuICAgIC8vID4gYTpmaXJzdC1jaGlsZCBpcyB0aGUgb2xkIHdheSBvZiB0aGlua2luZyBiZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgZm9ybWFsIGNvbmNlcHQgYXMgYSBjbGFzcy5cclxuICAgIC5tdWx0aW1lZGlhLWNvbnRlbnQsID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBtdWx0aW1lZGlhLWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGRlc2NyaXB0aW9uO1xyXG4gICAgfVxyXG4gICAgLmNvZGUtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGNvZGU7XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IHByaWNlO1xyXG4gICAgfVxyXG4gICAgLy8gSW50ZXJhY3RpdmUgYXJlYSwgdGhpcyBjb3VsZCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyAoIGJ1eSBib3hlcywgbG9naW4sIGVucXVpcnkgb3Igc3RvY2tsaW5lIGJ1dHRvbnMgKS5cclxuICAgIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAucXVhbnRpdHktY29udGFpbmVyLCAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGludGVyYWN0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBGb3JtIG1peGlucyAtLS0tLSBcclxuLy8gLS0tIEVycm9yIEJsb2NrIC0tLSBcclxuQG1peGluIGVycm9yLWJsb2NrKCkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBoMiwgaDQge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcnJvci1ibG9jay1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGVycm9yLWJsb2NrLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBQYWdlIFNwZWNpZmljIE1peGlucyAtLS0tLVxyXG4vLy0tLSBQcm9kdWN0IC0tLVxyXG5AbWl4aW4gdHJpcGxlTW9kdWxlU2VjdGlvbigkcHJpdmF0ZVVzZUFyZWE6XCJcIiwgJGhhc0ljb246IGZhbHNlICwkaWNvbkNvbG91cjpcIlwiLCAkZm9udEZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFNvbGlkJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIEBpZiAoJGhhc0ljb24gPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRwcml2YXRlVXNlQXJlYTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaWNvbkNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGltYWdlMzYwT3ZlcmxheSgkaWNvblNpemU6IDgwJSwgJG92ZXJsYXlTaXplOiA5MHB4KSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkb3ZlcmxheVNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJG92ZXJsYXlTaXplO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjIsIDAuMik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGltYWdlLTM2MCkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGljb25TaXplO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICgkYm9yZGVyUmFkaXVzMiAvIDIpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJGNvbG91cjMtMSwgMC4yKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByaWNlKCRpcy1saXN0OiBmYWxzZSkge1xyXG4gICAgLy8gdGQge1xyXG4gICAgLy8gICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7ICAgIFxyXG4gICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gVGhpcyB3YXMgcHV0IGluIGZvciBvcHRpb25hbCBleHRyYSdzIG5vdCBhbGlnbmluZyB3aXRoIHRoLlxyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBUbyBwcmV2ZW50IGR1cGxpY2F0ZSBsYWJlbHMgaWYgdGhlcmUgaXMgb25seSBvbmUgcHJpY2UgYmVpbmcgb3V0cHV0dGVkLlxyXG4gICAgLmNvbC1sYWJlbCArIC5wcmljZXMge1xyXG4gICAgICAgIHA6b25seS1jaGlsZCAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgLy8gbWluLWhlaWdodDogNzBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgQGlmICgkaXMtbGlzdCBhbmQgJHByaWNlLWxpc3QtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtbGlzdC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdG8gaW5saW5lLWZsZXggZHVlIHRvIGluY29uc2lzdGVuY2llcyBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcmljZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7IC8vIEZvbGxvdyBzYW1lIHJ1bGUgYXMgZGVzY3JpcHRpb24gdG8gYnJpbmcgbXVsaXRwbGUgbGluZXMgY2xvc2VyIGFzIHRoZXkgcmVsYXRlLlxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHZlcnRpY2FsIGFsaWdubWVudCBpc3N1ZXMgd2l0aCB2YXQgdGV4dC5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgJjpoYXMoLnZhdCkge1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRwcmljZS1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIHByZXZlbnQgc21hbGwgc3RyaW5ncyBvZiB0ZXh0IGluIGxhYmVscyBmcm9tIHdyYXBwaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbi13aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJiB+IC52YXQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nIGxlZnQgZHVlIHRvIG9uIHRoZSBwcm9kdWN0IGVucXVpcnkgcGFnZSB0aGUgdmF0IHRleHQgYXMgcmVuZGVyaW5nIHJpZ2h0IHVwIGFnYWluc3QgdGhlIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm0gIT0gbm9ybWFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2F2aW5ncy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNhdmluZy1zdHJpa2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucnJwIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRycnAtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcnJwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcnJwLXRleHQtdHJhbnNmb3JtICE9IG5vcm1hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHJycC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcnJwLXN0cmlrZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wYWNrLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLXByaWNlLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1wcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1zaXplIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLXNpemUtY29sb3VyICE9ICRwcmljZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYWNrLXNpemUtY29sb3VyOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wYWNrLWl0ZW0tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHBhY2staXRlbS1zaXplLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1pdGVtLXNpemUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRwcmljZS10ZXh0LWFsaWduID09IFwiY2VudGVyXCIgYW5kICRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByaWNlLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIpIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgQGlmICgkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gSGFkIHRvIGFkZCBvdmVycmlkZSBmb3IgV2lsZCB0aGluZ3MgZHVlIHRvIGluY29uc2lzdGFuY3kgaW4gbG9naWMgb24gb3RoZXIgc2l0ZXMgKCBpLmUgYXhpcyApLlxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbjogJHByaWNlLW1hcmdpbjtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGNvbnNpc3RlbmN5IGlzc3VlcyB3aGVuIGRpc3BsYXlpbmcgbXVsaXBsZSBwcmljZXMuXHJcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLmN1cnJlbmN5IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC52YXQge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdmF0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJycCgpIHtcclxuICAgIC8vIC5ycnAge1xyXG4gICAgICAgIC8vIGNvbG9yOiAkcnJwLWNvbG91cjtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRycnAtZm9udC1zaXplKTtcclxuICAgICAgICAvLyBmb250LXdlaWdodDogJHJycC1mb250LXdlaWdodDtcclxuICAgICAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLy8gfVxyXG59XHJcblxyXG5AbWl4aW4gc2F2aW5nKCkge1xyXG4gICAgLy8gLnNhdmluZyB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkc2F2aW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRzYXZpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgLy8gY29sb3I6ICRzYXZpbmdzLWNvbG91cjtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1peGluIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgc21hbGwpO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHF1YW50aXR5LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRxdWFudGl0eS1sYWJlbC1jb2xvdXI7XHJcbiAgICBAaWYgKCRxdWFudGl0eS1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgIH0gXHJcbn1cclxuXHJcbkBtaXhpbiBjb21tb24tY2hlY2tib3goJGRpbWVudGlvbnM6ICRjaGVja2JveC1kaW1lbnRpb25zKSB7XHJcbiAgICAvLyBDYWxjdWxhdGUgcmFkaXVzLlxyXG4gICAgJGNoZWNrYm94LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIC8vIENhcCByYWRpdXMgb3RoZXJ3aXNlIHlvdSB3aWxsIGVuZCB1cCB3aXRoIGEgY2lyY2xlLlxyXG4gICAgQGlmICgkY2hlY2tib3gtcmFkaXVzID4gNSkge1xyXG4gICAgICAgICRjaGVja2JveC1yYWRpdXM6IDVweDtcclxuICAgIH1cclxuICAgIC8vIC0tLSBCYXNlIGNoZWNrYm94IHN0eWxlcyAtLS1cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgJGNoZWNrYm94LXJhZGl1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja2JveC1yYWRpdXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2hlY2tib3gtdGljayk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZGltZW50aW9ucztcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZGltZW50aW9ucztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgkZGltZW50aW9ucyAvIDEuNyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFNwZWNpZmljIGNoZWNrYm94IHN0eWxlcyAtLS0gXHJcbiAgICAvLyBEZWZhdWx0IFN0YXRlLlxyXG4gICAgKyBzcGFuIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEaXNhYmxlZCAmIFJlYWQgT25seS5cclxuICAgICZbcmVhZG9ubHldICsgc3BhbiwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSG92ZXIgU3RhdGUuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpjaGVja2VkICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb2N1cy5cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDaGVja2VkIC8gQWN0aXZlIFN0YXRlLlxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVuYWJsZWQuXHJcbiAgICAgICAgJjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERpc2FibGVkICYgUmVhZCBPbmx5LlxyXG4gICAgICAgICZbZGlzYWJsZWRdLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1kaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1bGxldHBvaW50KCkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnVsbGV0LXNpemU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnVsbGV0LWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1bGxldC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFByb2R1Y3QgY29sbGVjdGlvbiBzdHlsZXMuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbCgkaW52ZXJ0LWViZy1jb2xvdXJzOiBmYWxzZSwgJGlzLWdyaWQtY29sbGVjdGlvbjogZmFsc2UpIHtcclxuICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yKSB7XHJcbiAgICAgICAmOm5vdCgubWluaWZpZWQtbGF5b3V0KSB7XHJcbiAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0je2lmKCRjb2xsZWN0aW9uLWViZy1pbWFnZS1zZXBlcmF0b3IsJycsJzpub3QoLmViZyknKX0gLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1wb3NpdGlvbi1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRlbnQgbGVmdCwgaW1hZ2UgcmlnaHRcclxuICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKHRydWUpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBncm91cHMgZG9udCBoYXZlIGEgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIFdvcmsgb3V0IHRoZSBjb250ZW50IGd1dHRlciBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gbWFyZ2luLlxyXG4gICAgICAgICAgICAgICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBHaXZlIHRoZSB0ZXh0IG1vcmUgZG9taW5hbmNlIG92ZXIgdGhlIGltYWdlIDg0NDY3OC4gXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDYwJSAtIDEwcHgpIGNhbGMoNDAlIC0gMTBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJiA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBwcm9kdWN0IGNvbGxlY3Rpb25zLlxyXG4gICAgICAgICAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZmlyc3QtaXRlbS1wYWRkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWltYWdlLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uLCAuY29kZSwgLnByaWNlcywgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMSwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDMsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb250ZW50IHJpZ2h0LCBJbWFnZSBsZWZ0XHJcbiAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKCk7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGdyb3VwcyBkb250IGhhdmUgYSBwcmljZS5cclxuICAgICAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBndXR0ZXIgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIG1hcmdpbi5cclxuICAgICAgICAgICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHggMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIC8vIEdpdmUgdGhlIHRleHQgbW9yZSBkb21pbmFuY2Ugb3ZlciB0aGUgaW1hZ2UgODQ0Njc4LiBcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg0MCUgLSAxMHB4KSBjYWxjKDYwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTcGVjaWZpYyBzdHlsZXMgZm9yIHByb2R1Y3QgY29sbGVjdGlvbnMuXHJcbiAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZmlyc3QtaXRlbS1wYWRkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCk7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgLmNvZGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlcyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpemUtZm9ybXMoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1yZWFkLW1vcmUtY29udGVudC1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IHRvcCwgaW1hZ2UgYm90dG9tLlxyXG4gICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gQXNzdW1pbmcgZmlyc3QgYW5jaG9yIGlzIHRoZSBpbWFnZSwgYXMgb3JkZXIgaXMgbm90IHVzZWQgb24gYW55IG9mIHRoZSBvdGhlciBlbGVtZW50cyBpbiB0aGUgY2VsbCB0aGVuIHRoaXMgd2lsbCBmb3JjZSB0aGUgaW1hZ2UgdG8gdGhlIGJvdHRvbS5cclxuICAgICAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ25vbi1jb21wYWN0Jyk7O1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBNaW5pZmllZCwgcmVzdHJpY3RlZCBpbWFnZSBzaXplLlxyXG4gICAgJi5taW5pZmllZC1sYXlvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigpO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFzc3VtZSB0aGUgZmlyc3QgYW5jaG9yIGlzIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLCBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHlvdSdyZSBhIHByb2R1Y3QgY2Fyb3VzZWwuXHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAvLyBTZXQgaGVpZ2h0IHRvIHJlYWQgbW9yZSBjb250ZW50IGZyb20gdGFraW5nIHVwIHRoZSBlbnRpcmUgcGFnZSBhcyB0aGVzZSBhcmUgb2Z0ZXIgZnVsbCBDTVMgZW50cmllcy5cclxuICAgICAgICAmOmhhcygucmVhZC1tb3JlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gZUJ1c3NpbmVzcyBncm91cCBzcGVjaWZpYyBzdHlsaW5nLlxyXG4gICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgLy8gVGhpcyBtZWFucyB3ZSdyZSBvbmx5IHNob3dpbmcgdGhlIGltYWdlLCBzbyByZW1vdmUgYWRkaXRpb25hbCBwYWRkaW5nIHRvIG1ha2UgdGhlIGNlbGwgbWF0Y2ggdGhlIGltYWdlIHNpemUuXHJcbiAgICAgICAgICAgICY6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIGlzIGNhdXNpbmcgYnV0dG9uIGFsaWdubWVudCBpc3N1ZXMgcmVnYXJkaW5nIGZvdW5kYXRpb24ncyBlcXVhbGl6ZXIuXHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWViZy1jZWxsLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6aG92ZXIgLmRlc2NyaXB0aW9uIHsgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSAuZGVzY3JpcHRpb24geyAgXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEZvbGxvdyBwcm9kdWN0IGNlbGwgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHsgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQgYW5kICRpcy1ncmlkLWNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtcyBhbmQgJGlzLWdyaWQtY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplICE9ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIT0gJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgZ3JpZCBjb2xsZWN0aW9uIHRoZW4gZG9uJ3QgYXBwbHkgYmFja2dyb3VuZCBpbiBkZWZhdWx0IHN0YXRlLCBpZiB0aGlzIGlzIGEgY2Fyb3VzZWwgdGhlbiBhcHBseSB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkaW52ZXJ0LWViZy1jb2xvdXJzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbGxlY2l0b24tZWJnLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOyAgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87ICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWhvdmVyLWJveC1zaGFkb3ctc3VwcHJlc3MpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBwYWRkaW5nIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBwYWRkaW5nLlxyXG4gICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnbm9uLWNvbXBhY3QnKTtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gV2hlbiBpbiBtb2JpbGUgZml0LWNvbnRlbnQgaW5jYXNlIHRoZXJlIGlzIGEgYm9yZGVyIGFwcGxpZWQsIGluIHRoZSBjb250ZXh0IG9mIHdpbGQgdGhpbmdzIHRoZSBib3JkZXIgc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSBjb250ZW50IHdpdGhvdXQgYSBndXR0ZXIgUiArIEwsIFNVUFBSRVNTSU5HOiBBcyB0aGlzIHdhcyBjYXVzaW5nIGFuIGltcGFjdCBvbiBwYWNrYWdpbmdkZXBvdCBhbmQgbWlsZXMgZm9yIGVnYiBtb2R1bGVzIG5vdCBmaWxsaW5nIGNlbGwgd2l0aCBiYWNrZ3JvdW5kIGNvbG91ciwgYSBiZXR0ZXIgc29sdXRpb24gd291bGQgYmUgdG8ganVzdCBjZW50ZXIgdGhlIGNvbnRlbnQgd2l0aGluIHRoZSBjZWxsIHVzaW5nIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBEZWZhdWx0IHRvIGZsZXggbGF5b3V0LlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAvLyBTdXBwcmVzcyB0aGlzIGFzIHNvbWUgZGVzaWducyBhbGxvdyB0aGUgaW1hZ2UgdG8gdGFrZSBmdWxsIHdpZHRoIG9mIHRoZSBjZWxsIGFuZCB0aGVuIGluZGVudCB0aGUgY29udGVudC5cclxuICAgICAgICAvLyAmLnByb2R1Y3Qge1xyXG4gICAgICAgIC8vICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICYgKyAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgLy8gQmFzZSBzdHlsZXMgdGhhdCBnZXQgdXNlZCBpbiBhbGwgbGF5b3V0cyAvIGRhdGEgKCBpLmUgcHJvZHVjdCwgZWJnLCBjbXMgKVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zcGVjaWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tdGV4dC1hbGlnbiA9PSBsZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGNvbGxlY3Rpb24tdGV4dC1hbGlnbiA9PSByaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nLXRvcCAkY29udGVudC1wYWRkaW5nIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nLCAxKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1idXktYm94LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDVweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgc3RvY2sgaW5kaWNhdG9ycyBoYXZlIGJlZW4gZGlzYWJhYmVkIHRoZW4gYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiBwcmljZXMgYW5kIGJ1dHRvbihzKS5cclxuICAgICAgICAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvL3dpZHRoOiA2NiU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkY29sbGVjdGlvbi1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tYnV0dG9ucy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWluaWZpZWQge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLCAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24taG92ZXItdW5kZXJsaW5lLCB1bmRlcmxpbmUsIG5vbmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZywgeW91IGxheW91dCBjbGFzc2VzIGluc3RlYWQuXHJcbiAgICAgICAgLy8gJi5wcm9kdWN0IHtcclxuICAgICAgICAvLyAgICAgLmltYWdlIGltZyB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLXByb2R1Y3QtaW1hZ2UtbWFyZ2luO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhpcyBpcyB0cmFuc3BhcmVudCBqdXN0IGluY2FzZSB3ZSBoYXZlIGFueSAucG5nIGJhbm5lcnMuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nLWJvdHRvbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCBub24tY29tcGFjdCkgNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyB3YXMgY2F1c2luZyBpc3N1ZSB3aGVuIGFwcGx5aW5nIGxheW91dCBzdHlsaW5nLCB3aGljaCB3YXMgY2F1c2luZyB0aGlzIHJ1bGUgdG8gYmUgdmVyeSBkaWZmY3VsdCB0byBvdmVycmlkZS5cclxuICAgICAgICAgICAgICAgIC8vICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCBub24tY29tcGFjdCk7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBGbGlwIHRoZSBsb2dpYy5cclxuICAgICAgICAgICAgICAgICY6aXMoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgfSAgIFxyXG4gICAgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHNjYWxlIHRoZSBpbWFnZSB0byBtYXggYXZhbGlhYmxlIHNwYWNlICsgbWFrZSBzdXJlIC5pbWFnZSBpcyBhIGJsb2NrIGVsZW1lbnQgb3IgaW1hZ2Ugd2lsbCBmYWlsIHRvIGRpc3BsYXkgb24gQXBwbGUgZGV2aWNlcy5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyBpdCB3YXMgY2F1c2luZyB0aGUgZXF1YWxpc2VyIHRvIGFzc2lnbiBoZWlnaHQ6IDA7IGZvciBpT1MgZGV2aWNlcyB1c2luZyBDaHJvbWUgbW9yZSBvbiB0aGlzIG9uIDg0MjY4Ny5cclxuICAgICAgICAvLyBDaGFuZ2UgdG8gZml0LWNvbnRlbnQgZm9yIGJvcmRlci1yYWRpdXMgZWZmZWN0IGFzIHRoaXMgd2FzIGN1dCBvZmYgaW4gY29tcGFjdCB2aWV3LCBjYW5ub3QgdXNlIHRoaXMgYXMgQ2hyb21lIG9uIGlPUyBjYXVzZXMgdGhlIGVxdWFsaXNlciB0byBpbmNvcnJlY3RseSBhc3NpZ24gaGVpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luKTtcclxuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIC8vIFNldHRpbmcgb3ZlcmZsb3cgdG8gZW5zdXJlIHNxdWFyZWQgaW1hZ2VzIGRvbid0IG92ZXJyaWRlIHRoZSBib3JkZXItcmFkaXVzIG9mIHRoZSBjZWxsIHdoaWNoIHdpbGwgcmVzdWx0IGluIHNxdWFyZWQgZWRnZXMgYXQgdGhlIHRvcCBvZiB0aGUgY2VsbCBhbmQgcm91bmRlZCBhdCB0aGUgYm90dG9tLlxyXG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBmbGV4LXNoaW5rIGR1ZSB0byBpbWFnZXMgYmVpbmcgc3RyZXRjaGVkIGluIGllLlxyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRwcm9kdWN0LWxpc3QtZ3JpZC1sYWJlbC12YWx1ZS1hbGlnbWVuZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KTtcclxuICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC8vIEFzIHdlIGRvbid0IGtub3cgdGhlIGRlZmF1bHQgY29sb3VyIHVzaW5nIGEgbmV1dHJhbCBjb2xvdXIgaW5zdGVhZC5cclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKTtcclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29kZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xsZWN0aW9uLWNvZGUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcHJpY2UodHJ1ZSk7XHJcbiAgICBAaW5jbHVkZSBycnAoKTtcclxuICAgIEBpbmNsdWRlIHNhdmluZygpO1xyXG4gICAgZm9ybSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgfVxyXG4gICAgLmFkZFRvQmFza2V0Lmljb24ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAvL0hhbmRsZXMgcXVhbnRpdHkgc2VsZWN0b3JzIHRoYXQgYXJlIGluIHRoZSBjYXJvdXNlbC5cclxuICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFNwZWNpZmljYWxseSBmb3Iga2VlcGluZyB0eXBvZ3JhcGh5IGluc3luYyBhY3Jvc3MgY29sbGVjdGlvbnMgYW5kIHRhYmxlcy5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCkge1xyXG4gICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCkge1xyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAxNy41cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFdoZW4gc2hvd2luZyBtdWx0aW1lZGlhIGNvbnRlbnQgcmlnaHQgb3IgbGVmdCB0aGVuIGFkZCBwYWRkaW5nIGFib3ZlIHRleHQgY29udGVudCBzbyB0aGUgZmlyc3QgaXRlbSBpcyBub3QgcmlkaW5nIG9uIHRoZSBib3JkZXIgb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpIHtcclxuICAgIC8vIEFzc3VtZSB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhbiBpbWFnZS5cclxuICAgICY6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDEsICdjb21wYWN0Jyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKSB7XHJcbiAgICAuZ3JvdXAtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWltYWdlLWFycmFuZ2Utc2lkZSgpIHtcclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgZml0LWNvbnRlbnQgd2lsbCBmaWdodCBhZ2FpbnN0IGFzcGVjdC1yYXRpbyBydWxlIGFzIGZpdC1jb250ZW50IHdpbGwgdHJ5IHRvIHNocmluayB0aGUgY29udGFpbmVyIHdoZW4gdGhlIHBhZ2UgaXMgbG9hZGluZyBjYXVzaW5nIGEgQ0xTIGlzc3VlLlxyXG4gICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCkge1xyXG4gICAgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWNhbGxiYWNrLWNvbnRhaW5lcigpIHtcclxuICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpIHtcclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDc2JTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCkge1xyXG4gICAgZm9ybSB7IFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigkcmV2ZXJzZS1jb2x1bW5zOiBmYWxzZSkge1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgIC8vIElzIHRoaXMgYW4gRUJHPyBcclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gTW92aW5nIHRvd2FyZHMgY29udGFpbmluZyBhbGwgY2VsbCBjb3B5IC8gZGV0YWlscyAvIGRhdGEgaW50byBvbmUgY29udGFpbmVyLlxyXG4gICAgICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMiwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlbW92ZSBncmlkLXJvdyBhbmQganVzdCBsZXQgdGhlIGdyaWQgYXV0byBwbGFjZSB0aGUgcmVzdCBvZiB0aGUgaXRlbXMuXHJcbiAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51bml0LW9mLW1lYXN1cmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbkBtaXhpbiBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpIHtcclxuICAgIC8vIG1heC13aWR0aDogOTglO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGlmICgkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0KSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERlZmF1bHQgY29sbGVjdGlvbiBib3JkZXIuXHJcbkBtaXhpbiBjYXJvdXNlbC1jb2xsZWN0aW9uLXVuZGVybGluZSgpIHtcclxuICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tc2xpZGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgc3VtbWFyeSBzZXBlcmF0b3IgLS0tIFxyXG5AbWl4aW4gYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCkge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIC8vIFN3aXRjaGluZyB0byB1c2luZyBib3JkZXIgcHJvcGVydHkgaW5zdGVhZCBvZiBzZXR0aW5nIGhlaWdodCBhcyBnZXR0aW5nIHdlaXJkIGluY29uc2lzdGFuY2llcyB3aGVuIHRoZSBicm93c2VyIHJlbmRlcnMgdGhlIHJ1bGVzIGJ5IH4uM3B4LiBodHRwczovL2pvaG5yZXNpZy5jb20vYmxvZy9zdWItcGl4ZWwtcHJvYmxlbXMtaW4tY3NzL1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI7XHJcbn1cclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMgLS0tLS0gXHJcbi8vIC0tLSBPbiBwYWdlIC0tLSBcclxuQG1peGluIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkcGFkZGluZzogKCksICRtYXJnaW46ICgpLCAkZm9udC1zaXplOiAxNHB4LCAkaWNvbi1zaXplOiAxOXB4KSB7XHJcblxyXG4gICAgLS1mb250LWZhbWlseTogI3skZm9udEF3ZXNvbWVTb2xpZH07XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIElmIGNvbnRlbnQgaXMgaW4gYSBjb250YWluZXIgdGhlbiBkb24ndCB3cmFwICggZXNzZW50aWFsbHkgYmFja3dhcmRzIHN1cHBvcnQgKS5cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdhcDogc21hbGwtdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCk7XHJcbiAgICBtYXJnaW46IGlmKG1hcC1oYXMta2V5KCRtYXJnaW4sIHByZXNldC0xKSwgbWFwLWdldCgkbWFyZ2luLCBwcmVzZXQtMSksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLW1hcmdpbiwgcHJlc2V0LTIpKTtcclxuICAgIHBhZGRpbmc6IGlmKG1hcC1oYXMta2V5KCRwYWRkaW5nLCBwcmVzZXQtMSksIG1hcC1nZXQoJHBhZGRpbmcsIHByZXNldC0xKSwgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZywgcHJlc2V0LTEpKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICBAaWYgKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwKTtcclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3R5bGUgcHJlc2V0cy5cclxuICAgIC8vIERlZmF1bHQgLyBQcmVzZXQtMSBhcmUgdGhlIHNhbWUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJlZm9yZSBwcmVzZXQgY2xhc3NlcyB3ZXJlIGEgdGhpbmcuXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIEluaXRpYWwgbGF5b3V0IGZvciBmdWxsIHBhZ2Ugbm90aWZpY2F0aW9ucyAoIGUuZyBubyBpdGVtcyBmb3VuZCBpbiBsaXN0cyApLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gTWluaWZpZWQgbGF5b3V0LCB3aXRoIGFsaWdubWVudCBsZWZ0LlxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBpZihtYXAtaGFzLWtleSgkcGFkZGluZywgcHJlc2V0LTIpLCBtYXAtZ2V0KCRwYWRkaW5nLCBwcmVzZXQtMiksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIHByZXNldC0yKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29tcGFjdCB2ZXJzaW9uIG9uIHByZXNldC0xICggaS5lIHJlZHVjZWQgcGFkZGluZyApIHRvIGZpdCB3aXRoaW4gXHJcbiAgICAmLnByZXNldC0zIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUeXBlIHByZXNldHMuXHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5mb3JtYXRpb24tY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gdHlwZXMuXHJcbiAgICAmLmljb24tbm9uLXJldHVybmFibGUge1xyXG4gICAgICAgIC0tZm9udC1mYW1pbHk6ICN7JGV4cHJlc3MtZGVmYXVsdC1pY29uc307XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBub24tcmV0dXJuYWJsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgd2hlbiBzaG93aW5nIHRlY2huaWNhbCBlcnJvcnMgdG8gcHJlZml4IHRoZSBhY3R1YWwgZXJyb3IgaW4gYSBlbmQgdXNlciBmcmllbmRseSBmb3JtYXQuXHJcbiAgICAudXNlci1mcmllbmRseS1wcmVmaXgge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXIgKCBmYWxsYmFjayBpZiBubyBwcmVzZXQgaXMgYXNzaWduZWQgKVxyXG4gICAgPiBwIHtcclxuICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLy8gR28gdG8gYmUgYmFzZWxpbmUgb3RoZXIgYW5jaG9ycyB3aWxsIGFwcGVhciBvbiBhIGRpZmZlcmVudCBsaW5lIG9uIHNvbWUgZm9udHMgKCBpLmUgZnVudGltZSApLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gc3BhY2luZy12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwLCAyLCBsYXJnZSkgYXV0byAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0LCAkb24tcGFnZS1ub3RpZmljYXRpb24tbGluZS1oZWlnaHQpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyLlxyXG4gICAgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAjeygkaWNvbi1zaXplICsgNSl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuQG1peGluIGRpc2FibGVkLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGluZm9ybWF0aW9uLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBpbmZvcm1hdGlvbik7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGluZm9ybWF0aW9uKTtcclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluZm8tY2lyY2xlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGluZm9ybWF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGFsZXJ0LWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICB9ICAgIFxyXG59XHJcbkBtaXhpbiB3YXJuaW5nLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCB3YXJuaW5nKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBzdWNjZXNzLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBzdWNjZXNzKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBNaXhpbnMgLS0tLS0gXHJcbkBtaXhpbiBjbXMtdGFibGUoKSB7XHJcbiAgICBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy10YWJsZS1zaWJsaW5nLW1hcmdpbjtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAmOm5vdChbY2xhc3MqPXByZXNldF0pIHtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qgc2V0IHRoZSBjb2xvdXIgaGVyZSBhcyBpdCBnZXRzIGRpZmZpY3VsdCB0byBvdmVycmlkZSAoIGkuZSBpbnRlcm5hbCBvbmx5IGRvY3VtZW50YXRpb24gKSwgaW5zdGVhZCBlaXRoZXIgdXNlIHByZXNldHMgb3Igc2V0IHRoZSBkZWZhdWx0IGluIF9zZXR0aW5ncy5zY3NzICR0YWJsZS1oZWFkLWZvbnQtY29sb3IuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1wcmVzZXRdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtdGFibGUtaGVhZGVyLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7ICBcclxuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogJGNtcy10YWJsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE9ubHkgYXBwbHkgdGhlIGdhcCBpZiB0aGVyZSBpcyB0aGVhZCBiZWZvcmUuXHJcbiAgICAgICAgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkgeyAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm8td3JhcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbXBhcmlzb24tdGFibGUge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRhYmxlLWhlYWRlci1ib2R5LW1hcmdpbigkbWFyZ2luOiAkdGJvZHktbWFyZ2luKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtYmxvY2txdW90ZSgpIHtcclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmcpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYmxvY2txdW90ZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkY21zLWJsb2NrcXVvdGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYmxvY2txdW90ZS1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKGltZykge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvY2txdW90ZSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLWJsb2NrcXVvdGUtaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtYmxvY2txdW90ZS1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLWhlYWRpbmdzKCkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgxKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMSk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDEpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgxKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgxKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgyKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgyKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGgyKTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoMik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDIpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDIpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDMpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgzKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgzKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMykpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDMpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGgzKTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoMyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMykpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNCkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDQpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg0KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNCk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDQpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDUpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDUpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg1KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDUpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg1KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg2KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg2KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDYpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg2KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNikpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtcGFyYWdyYXBoKCRmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodDogJGNtcy1wYXJhZ3JhcGgtbGluZS1oZWlnaHQsICRmb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSkge1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAkY21zLXBhcmFncmFwaC1tYXJnaW4pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgLy8gSWYgYW4gaW1hZ2UgaXMgYmVsbG93ICYgbGVmdCBhbGlnbmVkLlxyXG4gICAgICAgIC8vIFN3aXRjaGluZyB0byBlbSdzIHRvIHNjYWxlIG1hcmdpbiB3aXRoIGlubGluZSBmb250IHNpemUsIHRoaXMgd2FzIGEgcHJvYmxlbSBmb3IgQ0tFZGl0b3I0IHdoZW4gdGhlIGZsb2F0IHByb3BlcnR5IGlzIGFwcGxpZWQgdmlhIGlubGluZSBzdHlsZXMgdG8gdGhlIGltZyBhZ2FpbnN0IGEgc2luZ2xlIGxpbmUgcGllY2Ugb2YgdGV4dCB3aGljaCB3b3VsZCBjYXVzZSB0aGUgbGF5b3V0IHRvIGJyZWFrLlxyXG4gICAgICAgIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICZbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgYW4gaW1hZ2UgaXMgYmVsbG93ICYgcmlnaHQgYWxpZ25lZC5cclxuICAgICAgICBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICZbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjJlbSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1saXN0cygkZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQ6ICRjbXMtbGlzdC1saW5lLWhlaWdodCwgJGZvbnQtc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplKSB7XHJcbiAgICB1bCwgb2wge1xyXG4gICAgICAgIC8vIExpc3RzIHNob3VsZCBhbHdheXMgaWdub3JlIGNvbnRhaW5lciB0ZXh0LWFsaWduIGFuZCBiZSBhbGlnbmVkIHRvIHRoZSBsZWZ0LlxyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLWxpc3QtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICAvLyBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy9tYXJnaW46IDI1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1saXN0LXBhZGRpbmcsIDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsaSB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzIGFzIHdlJ3JlIHVzaW5nIHRoZSBwc2V1ZG8gZWxlbWVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyAmOjptYXJrZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIzLTc7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHRoaXMgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjEzNjk4NDMvaXMtdGhlcmUtYS13YXktdG8tbWFrZS1udW1iZXJzLWluLWFuLW9yZGVyZWQtbGlzdC1ib2xkXHJcbiAgICBvbCB7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLWxpc3QtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtbGlzdC1wYWRkaW5nO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcclxuICAgICAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgIC8vID4gdWwgbGkgKyBsaSB7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAvLyB9XHJcbiAgICAvLyBNYWtlIHN1cmUgbGlzdHMgZG9udCBidXR0IHVwIGFnYWluc3QgaGVhZGluZ3MuXHJcbiAgICB1bCArIGgxLCBvbCArIGgxIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDFcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGgyLCBvbCArIGgyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDJcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGgzLCBvbCArIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDNcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg0LCBvbCArIGg0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDRcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg1LCBvbCArIGg1IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDVcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg2LCBvbCArIGg2IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDZcIik7XHJcbiAgICB9XHJcbiAgICBkbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1jb2RlKCkge1xyXG4gICAgY29kZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtY29kZS1ibG9jay1wYWRkaW5nKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY21zLWNvZGUtYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb3B5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIHBhZGRpbmcgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbGlwYm9hcmQtY29weSk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtYW5jaG9yKCkge1xyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gQXZvaWQgc3R5bGluZyBpZiB0aGlzIGlzIGEgYnV0dG9uLlxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgd2FzIGdldHRpbmcgaW4gd2F5IG9mIGFuY2hvciBpbnNpZGUgb2YgdGFibGVzIHdoZW4gbmVzdGVkIGluIGNtcyBjb250ZW50LlxyXG4gICAgICAgIC8vICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICZbaHJlZl49XCJ0ZWw6XCJdLCAmW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWFuY2hvci1jb250YWN0LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNob3ctY29udGFjdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBHaXZlIHRoZSBhbmNob3Igc29tZSBicmVhdGhpbmcgcm9vbSBmcm9tIHRoZSByZXN0IG9mIHRoZSBjb250ZW50LlxyXG4gICAgLy8gRG9uJ3QgYXBwbHkgdGhlIHBhZGRpbmcgaWYgdGhpcyBpcyBhIGJ1dHRvbi5cclxuICAgIHBcclxuICAgIGEge1xyXG4gICAgICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICAvLyBBcyBhIHRlc3QgdG8gc3RyaW5rIGNvbnRlbnQgaS5lIGltYWdlcyBkb3duLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdG8gcm93IGluY2FzZSB0aGVyZSBpcyBtYXJrdXAgaW5zaWRlIG9mIHRoZSBhbmNob3IgKCBpLmUgc3Ryb25nIGZvciBheGlzIHZNZXJjaGFudCApXHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogJGFuY2hvci1ndXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgLy9wYWRkaW5nOiAkYW5jaG9yLWd1dHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1hbmNob3Itd2VpZ2h0O1xyXG5cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWltYWdlKCkge1xyXG5cdC8vIENrZWRpdG9yIDUgd3JhcHMgYWxsIGltYWdlcyBpbiBhIGZpZ3VyZSB0aGVuIGFwcGxpZXMgY2xhc3NpbmcgZm9yIGFsaWdubWVudCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGFkZGluZyBpbmxpbmUgQ1NTLCB3aGVuIGEgcGFnZSBpcyByZW5kZXJlZCB0aGUgQ2tlZGl0b3IncyBzdHlsZXNoZWV0IGlzIG5vdCBsb2FkZWQgaW4gb25seSB3aGVuIGluIHRoZSBlZGl0b3IgaXMgaW5pdGlhbGlzZWQuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIC8vIElmIENLRWRpdG9yIGhhcyBhc3NpZ25lZCBhIGFic29sdXRlIHdpZHRoIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGV4cGFuZCBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydCB3aGVuIGluIG1vYmlsZS5cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46ICRjbXMtaW1hZ2Utc3BhY2luZztcclxuICAgICAgICAvLyBPdmVycmlkaW5nIENrZWRpdG9yLlxyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGZpdC1jb250ZW50IHRvIGFsbG93IGZvciB0aGUgY29udGFpbmVyIHRvIG1hdGNoIHRoZSBpbWFnZSB3aWR0aCBidXQgcHJldmVudCB0aGUgY2FwdGlvbiBmcm9tIGV4cGFuZGluZyBmdXJ0aGVyIHRoYW4gdGhlIGltYWdlIHdpZHRoLlxyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNtcy1pbWFnZS1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUZXh0IGZsb3cgYXJvdW5kIHRoZSBpbWFnZS5cclxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIC8vIE1hdGNoIHRvcCArIGJvdHRvbS5cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKTtcclxuXHRcdH1cclxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAvLyBNYXRjaCB0b3AgKyBib3R0b20uXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLWltYWdlLXNwYWNpbmcsIDEpO1xyXG5cdFx0fVxyXG4gICAgICAgIC8vIFRleHQgYnJlYWsuXHJcbiAgICAgICAgJi5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1sZWZ0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAyKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtaW1hZ2UtZ2FsbGFyeSgpIHtcclxuICAgIGRpdi5nYWxsYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgICAgICYuY2VsbC1ndXR0ZXJzIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLXlvdXR1YmUtdmlkZW8oKSB7XHJcbiAgICBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtZ29vZ2xlLW1hcHMtZW1iZWRkZWQoKSB7XHJcbiAgICBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZFwiXSB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG59XHJcbi8vIFVzZWQgZm9yIHJlYWQgbW9yZSB0ZXh0LlxyXG5AbWl4aW4gc2ltcGxlLWZhZGUoJG9wYWNpdHk6ICRkZWZhdWx0LWZhZGUtb3BhY2l0eSwgJGZlYXRoZXI6ICRyZWFkLW1vcmUtZmVhdGhlci1kZWZhdWx0KSB7XHJcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCAkb3BhY2l0eSwgJHJlYWQtbW9yZS1mYWRlLWNvbG91ciAkZmVhdGhlcilcclxufVxyXG4vLyBTcGVlY2ggYnViYmxlIGdlbmVyYXRvciAoIGh0dHBzOi8vcHJvamVjdHMudmVyb3UubWUvYnViYmx5LyApLlxyXG4vLyAkc2lkZTogXCJ0b3AsIHJpZ2h0LCBib3R0b20uIGxlZnRcIlxyXG5AbWl4aW4gc3BlZWNoLWJ1YmJsZSgkc2lkZTogXCJ0b3BcIiwgJHBvaW50ZXItc2l6ZTogNXB4LCAkYm9yZGVyLWNvbG91cjogJGNvbG91cjQsICRiYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICRwb2ludGVyLXNpemUsICRib3JkZXItY29sb3VyKTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUtcG9pbnRlcigkc2lkZSwgKCRwb2ludGVyLXNpemUgLSAzKSwgJGJhY2tncm91bmQtY29sb3VyLCB0cnVlKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNwZWVjaC1idWJibGUtcG9pbnRlcigkc2lkZSwgJHBvaW50ZXItc2l6ZSwgJGJvcmRlci1jb2xvdXIsICRpcy1pbnRlcm5hbC1hcnJvdzogZmFsc2UpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgQGlmICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlICA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImxlZnRcIiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBdHRlbXB0IHRvIHNjYWxlIGludGVybmFsIGFycm93IGJhc2VkIG9uIHRoZSB0b29sdG9wIGNvbnRlbnQgYm9yZGVyLlxyXG4gICAgICAgIGJvcmRlci13aWR0aDogI3tpZigkaXMtaW50ZXJuYWwtYXJyb3csICgkcG9pbnRlci1zaXplICsgKCR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoIC8gMikpLCAkcG9pbnRlci1zaXplKX1weDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgQGlmICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je2lmKCRpcy1pbnRlcm5hbC1hcnJvdywgKCRwb2ludGVyLXNpemUgKyAoJHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGggLyAyKSksICRwb2ludGVyLXNpemUpfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJyaWdodFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwiYm90dG9tXCIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGJvcmRlci1jb2xvdXI7O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfVxyXG59XHJcblxyXG4vLyBPcmRlciBUYWJsZSBzdHlsZXMgKCB1c2VkIGZvciBiYXNrZXQsIGNoZWNrb3V0IGNvbXBsZXRlICYgdmlldyBvcmRlciApXHJcbkBtaXhpbiBvcmRlci10YWJsZSgpIHtcclxuICAgIC8vIEdsb2JhbCBiYXNrZXQgdGFibGUgcHJvcGVydGllcy5cclxuICAgIHRkLCB0aCB7XHJcbiAgICAgICAgJjpub3QoLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gdGQge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgcGFkZGluZzogJG9yZGVyLW1vYmlsZS1yb3ctcGFkZGluZztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmLnJlYWQtb25seSB7XHJcbiAgICAgICAgLy8gdGQuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICAvLyAvLyBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogNztcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuYWRkLXRvLWJhc2tldC1jb2wge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogODtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHdpZHRoIHNvIG9wdGlvbmFsIGV4dHJhJ3Mgd2l0aG91dCBhbiBpbWFnZSB0aGUgZGVzY3JpcHRpb25zIGhvbGRzIGluIHBsYWNlLlxyXG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3QgcHJldmVudCBoZWlnaHQgZHVlIHRvIG5lZWRpbmcgdG8gc3VwcG9ydCByZWN0YW5nbGUgaW1hZ2VzLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJG9yZGVyLXRhYmxlLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEb250IHNldCBhIGFic29sdXRlIHdpdGggb3RoZXJ3aXNlIHRoaXMgd2lsbCBub3Qgc2NhbGUgd2VsbC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiA0NTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRiYXNrZXQtZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgLnN0b2NrV2FybmluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXIzLTMsIDAuNik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5zdWJzaWRpYXJ5LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRib2R5LWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCR0Ym9keS1hbmNob3ItZm9udC1zaXplIC0gMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vbi1yZXR1cm5hYmxlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sIHtcclxuICAgICAgICAvLyB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAvLyBvcmRlcjogMztcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRvcmRlci10YWJsZS1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcHJpY2UtY29sLCAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRvcmRlci10YWJsZS1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YXQtcmF0ZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHRkLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFkZC10by1iYXNrZXQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1xdWFudGl0eSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDM1JTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gb3JkZXI6IDU7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGZyZWUgdGV4dCBxdWFudGl0eSBzZWxlY3Rvci5cclxuICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3ViLXRvdGFsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXJlbW92ZS1jb2wgeyAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0Qm9keVJlbW92ZUNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGZvciBnZW5lcmljIC5yZW1vdmUtYnV0dG9uIGluIF90YWJsZXMuc2Nzcy5cclxuICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCk7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAvLyAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vICY6aG92ZXIge1xyXG4gICAgICAgIC8vICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gJjphY3RpdmUge1xyXG4gICAgICAgIC8vICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJhc2tldFVwZGF0ZVJvdyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRiYXNrZXRIZWFkQm9yZGVyQ29sb3VyO1xyXG4gICAgfVxyXG4gICAgLmJhc2tldC1pdGVtLXJvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAvLyBXZSB1c2VkIHRvIG5vdCB1c2UgZ3JpZCBsYXlvdXQgZHVlIHRvIElFIHN1cHBvcnQgYnV0IGFzIHdlIG5vIGxvbmdlciBzdXBwb3J0IElFIHRpbWUgdG8gbWFrZSBvdXIgbGlmZSdzIGVhc2llciEuXHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAvLyBDcmVhdGUgYSAyIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KSBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KTtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RhbmRhcmQgc3R5bGVzIGFkZGVkIHRvIG1lbnUgZHJvcGRvd25zLlxyXG5AbWl4aW4gZHJvcGRvd24tZm9vdGVyKCRzdXBwcmVzcy1wYWRkaW5nOiBmYWxzZSkge1xyXG4gICAgQGlmIG5vdCAoJHN1cHByZXNzLXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1vYmlsZS1tZW51LWZvb3Rlci1wYWRkaW5nLWJvdHRvbTsgXHJcbiAgICB9XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlci1ib3JkZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBkcm9wZG93bi1mb290ZXItYm9yZGVyKCkge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tY29sb3VyO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tc2l6ZSAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLy8gTWVudSBob3ZlciBpY29uIC8gaXMtc3VibWVudS1wYXJlbnQuXHJcbkBtaXhpbiBtZW51LWl0ZW0tcHJlZml4LWljb24oKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVnYS1tZW51LWxpbmstaWNvbik7XHJcbiAgICAgICAgaGVpZ2h0OiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gQWx3YXlzIHNob3cgYXJyb3dzIGluIG1vYmlsZS5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRzcGlubmVyLWNvbG91cjogJGNvbG91cjQpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplIC0gKCRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCAqIDIpO1xyXG4gICAgICAgIGhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZSAtICgkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgKiAyKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXI6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCBzb2xpZCByZ2JhKCRzcGlubmVyLWNvbG91ciwgLjIpO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCBzb2xpZCAkc3Bpbm5lci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcclxuICAgICAgICBhbmltYXRpb246IHNwaW4gLjdzIGN1YmljLWJlemllcigwLjU2MCwgMC4xMTAsIDAuMjIwLCAwLjg2NSkgMHMgaW5maW5pdGU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC8vIGFuaW1hdGlvbiBrZXlmcmFtZXNcclxuICAgIEBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAgICAgZnJvbSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuICAgICAgICB0byAgICB7IHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSW4gbW9iaWxlIHRoZSB0b2dnbGUgYmFyIHRyaWdnZXJzIHRoaW5ncyBsaWtlIGJhc2tldCwgc2VhcmNoICYgc2l0ZSBuYXZpZ2F0aW9uLCB0aGlzIGlzIHRoZSBnZW5lcmljIHN0eWxlcyB0aG9zZSBtZW51J3MgLyBwb3B1cHMgdXNlLlxyXG5AbWl4aW4gaGVhZGVyLW1vYmlsZS1tZW51KCkge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB6LWluZGV4OiAkaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCdWlsZCBjb2xvdXIgcGFsbGV0ZSB0b25lcy5cclxuQG1peGluIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcygkY29sb3VyLW5hbWUsICRjb2xvdXJzKSB7XHJcbiAgICAvLyBDaGVjayBpZiB2YXJpYWJsZSBleGlzdC5cclxuICAgIEBpZiBub3QgKHZhcmlhYmxlLWV4aXN0cygkY29sb3VyLW5hbWUpKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29sb3VyIG1hcCBcIiAjeyRjb2xvdXItbmFtZX0gXCIgZG9lc24ndCBleGlzdCBmb3Igc2l0ZSAjeyRzaXRlfVwiO1xyXG4gICAgfVxyXG4gICAgQGVhY2ggJGxpZ2h0bmVzcywgJGNvbG91ciBpbiAkY29sb3VycyB7XHJcbiAgICAgICAgLS0jeyRjb2xvdXItbmFtZX0tbGlnaHRuZXNzLSN7JGxpZ2h0bmVzc306ICN7JGNvbG91cn07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lZ2EgbWVudSBwYXJlbnQgbGV2ZWwgMiBzdHlsZXMuXHJcbkBtaXhpbiBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpIHtcclxuICAgID4gYSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKSAhPSAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJG1lZ2EtbWVudS1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtcGFyZW50LXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSBcIm5vbmVcIikge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZWdhIG1lbnUgcm9vdCBwYXJlbnQgZHJvcGRvd24gYXJyb3dzLlxyXG5AbWl4aW4gbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGRlZmF1bHQtY29sb3VyLCAkaG92ZXItY29sb3VyKSB7XHJcbiAgICAmOmhvdmVyID4gYSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byA0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUb29sdG9wIGNvbnRlbnQgY29udGFpbmVyIHBvc2l0aW9uaW5nLCB0aGlzIGdldHMgY2FsbGVkIGlmIHRoZSBjb250ZW50IGdldHMgd3JhcHBlZCBpbiBhZGRpdGlvbmFsIGNvbnRhaW5lcihzKVxyXG5AbWl4aW4gdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCkge1xyXG4gICAgd2lkdGg6ICR0b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8vIFZpZGVvIHBsYXkgaWNvbiBvdmVybGF5LlxyXG5AbWl4aW4gdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBBZGQgc2xpZ2h0IHNoaW0gZHVlIHRvIGZsZXhib3ggbm90IGp1c3RpZnlpbmcgcGVyZmVjdGx5IGNlbnRlci5cclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pOztcclxuICAgICAgICBib3JkZXI6ICN7JHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gVmlkZW8gcmVwbGF5IGljb24gb3ZlcmxheSwgdGhpcyB3YXMgaW1wbGVtZW50ZWQgYWZ0ZXIgdGhlIHZpZGVvLXBsYXktaWNvbiBydWxlcywgaW4gaGluZHNpZ2h0IHRoaXMgY291bGQgYmUgbWFrZSBtb3JlIG1vZHVsYXIuXHJcbkBtaXhpbiB2aWRlby1yZXBsYXktaWNvbi1vdmVybGF5KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXJlcGxheS10aHVtYm5haWwtaWNvbik7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQpfSk7O1xyXG4gICAgICAgIGJvcmRlcjogI3skdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJvcmRlci13aWR0aH0gc29saWQgdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFsbGJhY2soJG5hbWUsICRmYWxsYmFjaywgJG1ldHJpY3MpIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnI3skbmFtZX0gRmFsbGJhY2snO1xyXG4gICAgICAgIHNyYzogbG9jYWwoJyN7JGZhbGxiYWNrfScpO1xyXG4gICAgICAgIHNpemUtYWRqdXN0OiBtYXAtZ2V0KCRtZXRyaWNzLCBzaXplLWFkanVzdCk7XHJcbiAgICAgICAgYXNjZW50LW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBhc2NlbnQtb3ZlcnJpZGUpO1xyXG4gICAgICAgIGRlc2NlbnQtb3ZlcnJpZGU6IG1hcC1nZXQoJG1ldHJpY3MsIGRlc2NlbnQtb3ZlcnJpZGUpO1xyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBsaW5lLWdhcC1vdmVycmlkZSk7XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kdW5pdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiBkaXZpZGUoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAaWYgJHVuaXQtd2FybmluZ3Mge1xuICAgICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIH1cbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiBkaXZpZGUoJHZhbHVlLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyAtLS0tLSBUYWJsZSBTdHlsZXMgLS0tLS0gXHJcbi8vIC0tLSBUYWJsZSBIZWFkIC0tLSBcclxuLnRhYmxlLWZvb3Rlci1zcGFjZXIge1xyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGhyIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQgc29saWQgJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxudGFibGUge1xyXG5cclxuICAgIC0tYm9yZGVyLWNvbG91cjogI3tkZWZhdWx0LWNvbG91cigkdGJvZHktcm93LWJvcmRlci1jb2xvdXIpfTtcclxuICAgIC0tYm9yZGVyLWhvdmVyLWNvbG91cjogI3tob3Zlci1jb2xvdXIoJHRib2R5LXJvdy1ib3JkZXItY29sb3VyKX07XHJcblxyXG4gICAgLy8gU2V0dGluZyBoZWlnaHQgcHJvcGVydHkgdG8gYWxsb3cgZm9yIDxkaXY+J3MgaW5zaWRlIG9mIDx0ZD4ncyB0byBzcGFuIGZ1bGwgaGVpZ2h0LCBmb3IgbW9yZSBhYm91dCB0aGlzIGNoYW5nZSBwbGVhc2Ugc2VlIEthcGVyc3RvbmUncyBjb21tZW50IGhlcmUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzIxNTU1My9tYWtlLWEtZGl2LWZpbGwtYW4tZW50aXJlLXRhYmxlLWNlbGxcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uLCB3aGVuIHNldHRpbmcgc21vb3RoLWVkZ2VzIHRoZSAkZ2xvYmFsLXJhZGl1cyB2YWx1ZSBnZXRzIHNldCB0aGlzIGNyZWF0ZSBhIHdlaXJkIGVmZmVjdCBpbiBtb2R1bGUgY2F1c2luZyB0aGUgdGQncyBib3JkZXIgdG8gb3ZlcmZsb3cgdGhlIHJhZGl1cy5cclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAmLnN0cmlwZWQge1xyXG4gICAgICAgIHRyIHsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgIC8vIEVuc3VyZSBiYWNrZ3JvdW5kLWNvbG9yIGdldHMgcmVuZGVyZWQgaW4gcHJpbnQgbW9kZS5cclxuICAgICAgICAgICAgLy8gcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAgICAgICAgIC8vIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIC8vICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGZvciBjYWxsIHBvcnRhbCBkZXNpZ24uXHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWRkIHJ1bGVzIHRvIHRoZSBib3R0b20gb2YgZWFjaCByb3cuXHJcbiAgICAmLnNob3ctYm9yZGVyLWJvdHRvbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3soJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZyAqIDIpfTtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBib3JkZXJzIGFyb3VuZCBlbnRpcmUgdGFibGUgJiBjZWxscy5cclxuICAgICYuc2hvdy1ib3JkZXJzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBvbmx5IGludGVybmFsIGJvcmRlcnMuXHJcbiAgICAmLnNob3ctaW50ZXJuYWwtYm9yZGVycyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFzaWNhbGx5IHRyZWF0IHRoZSBmaXJzdCBjb2x1bW4gbGlrZSBhIHZlcnRpY2FsIHRoZWFkLlxyXG4gICAgJi5oaWdobGlnaHQtZmlyc3QtY29sdW1uIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEdlbmVyYWwgc3R5bGVzIHVzZWQgYWNyb3NzIHRoZSBzaXRlLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkdGFibGUtcHJlc2V0LTEtbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHRhYmxlLXByZXNldC0xLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3ctc3BhY2luZyB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogI3soJHRib2R5LW1hcmdpbiAtIChzcGFjaW5nLXZhbHVlKCR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmcsIDIpICogMikpfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oKTtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IHNwYWNpbmctdmFsdWUoJHRoZWFkLXByZXNldC0xLCAyLCBwYWRkaW5nKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pbWFnZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCgucGRmLWRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgcHJpbWFyaWx5IGluIHRoZSBiYXNrZXQuXHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDVweCAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHRib2R5LW1hcmdpbjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgLy8gVXNlZCBwcmltYXJ5IGluIHRoZSBhY2NvdW50IGFyZWEuXHJcbiAgICAmLnByZXNldC0zIHtcclxuICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4IHNwYWNpbmctdmFsdWUobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpLCAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdy1hZGRpdGlvbmFsLXBhZGRpbmcge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAvLyBEb24ndCBuZWVkIHRvIGRvIHRoaXMgZm9ybSBtb2JpbGUgZHVlIHRvIHJlc3BvbnNlLXRhYmxlIGNsYXNzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkdGJvZHktbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEJlY2F1c2UgdGhlcmUgaXMgbm8gb3RoZXIgZWFzeSB3YXkgdG8gYWRkIGEgbWFyZ2luIGJldHdlZW4gdGhlIHRhYmxlIHJvd3Mgd2l0aCBvdXQgYWRkaW5nIG1hcmt1cC5cclxuICAgICYucm93LXNwYWNpbmcge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6ICR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmc7XHJcbiAgICAgICAgJjpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgc3Bhbi5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyBmb3IgdXBsb2FkIGNzdiB0YWJsZSAjNzY3MjM5LlxyXG4gICAgICAgIC8vIHRkIHtcclxuICAgICAgICAvLyAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vICAgICA+IHNwYW4ge1xyXG4gICAgICAgIC8vICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgbm8gaW1hZ2UgYWxpZ24gYWxsIHRleHQgYmFzZWxpbmUuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgfVxyXG4gICAgLy8gRWxzZSB2ZXJ0aWNhbCBhbGlnbiBjZW50ZXIgb3RoZXJ3aXNlIG11bHRpLWxpbmUgdGV4dCB3aWxsIGJlIHBpbm5lZCB0byB0aGUgYm90dG9tIG9mIHRoZSByb3cuXHJcbiAgICAmOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgdGQubm8tcGRmLWRvd25sb2FkIHtcclxuICAgICAgICBzcGFuLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luICsgKCRmaWxlLWljb25zLXNpemUgLyAxLjMpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEucGRmLWRvd25sb2FkIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yIG1vYmlsZSB2aWV3IHNvIGJ1dHRvbnMgZG9uJ3QgYXBwZWFyIG9uIGEgbmV3IGxpbmUuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0ciB7XHJcbiAgICAgICAgLy8gU3VjY2Vzc1xyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gV2FybmluZy5cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsZXJ0XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXJyb3Igcm93LlxyXG4gICAgICAgICYuZXJyb3Itcm93LCAmLmVycm9yIHtcclxuICAgICAgICAgICAgLy8gSGF2aW5nIHRvIG92ZXJyaWRlIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyB0ci5lcnJvci1yb3csICYgKyB0ci5lcnJvciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXhwaXJlZC5cclxuICAgICAgICAmLmNhcmQtZXhwaXJlZCwgJi5leHBpcmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlbW92ZS1jb2wsIC5leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGUgcm93IGNhbiBiZSB1c2VkIHRvIGNoZWNrIGEgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLlxyXG4gICAgICAgICYucm93LWlucHV0LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIC8vIEhhdmluZyB0byB1c2UgYm94LXNoYWRvdyBkdWUgdG8gbmVlZGluZyB0byB1c2UgYm9yZGVyLWNvbGxhcHNlICYgYm9yZGVyLXNwYWNpbmcgdG8gZ2V0IGdhcCBiZXR3ZWVuIHJvd3MuXHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhhcyhpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBtYWtlIHN1cmUgY29udGVudCBpcyB2aXNpYmxlIG9uIGhvdmVyLlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VjY2Vzcy1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtcmVhc29uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLWljb24sIC5zdWNjZXNzLWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm9yZGVyLXRvdGFsLWNvbCwgdGguY3N2LWltcG9ydC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmFkZHJlc3MtYmxvY2sge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmNhcmQtdHlwZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXltZW50LWNhcmQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1jYXJkLXR5cGUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhwaXJlZC10ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbnRoZWFkIHtcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpOyBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtYWxpZ24pOyBcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LXRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7IFxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LXRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhbY2xhc3MkPWRlc2NyaXB0aW9uLWNvbF0ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICArIHRib2R5IC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBjb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCByb3ctYm9yZGVyKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGgge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICBAaWYgKCR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbltjb21wYXJpc29uLXRhYmxlXSB7XHJcbiAgICAuY29tcGFyaXNvbi12YWx1ZXMgdGQrdGQsIHRoK3RoIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtdmFsdWVzLWJvcmRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tdmFsdWUtcmlnaHQge1xyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb21wYXJpc29uLXN1bW1hcnkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb21wYXJpc29uLWN1cnJlbnRseS1zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5LmNvbXBhcmlzb24tc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb21wYXJpc29uLWNvbHVtbi1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogc3BhY2luZy12YWx1ZSgkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nLCAyKSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi1lbXB0eSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHRoaXMgdGFibGUgaGFzIGEgaW1hZ2UtY29sdW1uLCB0aGVuIHVzZSB0aGUgZ3JpZCBsYXlvdXQgaW4gbW9iaWxlLlxyXG4gICAgJjpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGNvbHVtbiBoYXMgYSBsYWJlbCArIHZhbHVlIHRoZW4gc3BsaXQgaXQgaW50byB0d28gY29sdW1uIGFycmFuZ2VtZW50LlxyXG4gICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIHJvdyBpbnRvIGdyaWQgdmlldy5cclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBbnkgdGQgdGhhdCBpcyBub3QgdGhlIGltYWdlIHRkIG1vdmUgdG8gMiBjb2x1bW4uXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGNvbHVtbiBoYXMgYSBsYWJlbCArIHZhbHVlIHRoZW4gc3BsaXQgaXQgaW50byB0d28gY29sdW1uIGFycmFuZ2VtZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgY2hlY2tib3hlcyB0byB2ZXJ0aWNhbGx5IGFsaWduIGNlbnRlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuW3Jlc3BvbnNpdmUtcmV2ZWFsXSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYgKyB0YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRwYWRkaW5nLWl0ZW0teTogMThweDtcclxuICAgICRwYWRkaW5nLWl0ZW0teDogMjBweDtcclxuICAgIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgc29saWQgbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgc29saWQgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQgKSBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3skcGFkZGluZy1pdGVtLXl9O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFzIHdlJ3JlIG5vdyByZXZlYWxsaW5nIGNvbnRlbnQgc2hvdyBhbnkgb3ZlcmZsb3dpbmcgdGV4dC5cclxuICAgICAgICAgICAgLmVsbGlwc2lzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAjeyRwYWRkaW5nLWl0ZW0teX0gI3skcGFkZGluZy1pdGVtLXh9O1xyXG4gICAgICAgICY6aGFzKC51bnJlYWQtY29sKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1jbG9zZWQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBzcGFjZSBmb3IgdGFwIGFyZWEgaW4gbW9iaWxlLiBcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgI3skcGFkZGluZy1pdGVtLXl9O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtc29ydC1jb2wge1xyXG4gICAgJi5hc2NlbmQgYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1zb3J0LWFzY2VuZCk7XHJcbiAgICB9XHJcbiAgICAmLmRlc2NlbmQgYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1zb3J0LWRlc2NlbmQpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3IgaWNvbiBhbGlnbm1lbnQuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0aGVhZC1zb3J0aW5nLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjsgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1vdmlpbmcgaG92ZXIgc3RhdGUgdG8gdGQgdG8gYWxsb3cgZm9yIGdyZWF0ZXIgaGl0IGFyZWEuXHJcbnRkLm5vdGlmaWNhdGlvbi1jb2wge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyLXdpZHRoOiAwIDAgMCBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA0cHggMHB4IDhweCAzcHggcmdiYSgxMiwgMTIsIDEyLCAuMTgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBsZWZ0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51bnJlYWQtY29sIHtcclxuICAgIC8vIFRyeWluZyB0byBiZSBzZW1pIGNvbXBsaWVudCB3aXRoIGxpZ2h0aG91c2UncyBleHBlY3RhdGlvbiBpbnRlcm1zIG9mIHRhcCBhcmVhICg0OHg0OCkgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kb2NzL2xpZ2h0aG91c2Uvc2VvL3RhcC10YXJnZXRzXHJcbiAgICB3aWR0aDogNDhweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvLyAmOmhvdmVyIHtcclxuICAgIC8vICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgLy8gICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIC8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgICAgICB0b3A6IDA7XHJcbiAgICAvLyAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAvLyAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgLy8gICAgICAgICBib3gtc2hhZG93OiA0cHggMHB4IDhweCAzcHggcmdiYSgxMiwgMTIsIDEyLCAuMTgpO1xyXG4gICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgIGN1cnNvcjogdGV4dDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybywgbGVmdCAkdHJhbnNpdGlvbk91dHJvIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udGVudCBzcGVjaWZpYyBzdHlsZXMuXHJcbnRhYmxlIHtcclxuICAgICYucmV1c2FibGUtY2FyZC10YWJsZSB7XHJcbiAgICAgICAgLy8gU3BlY2lmaWNhbGx5IGluIHRoZSBjb250ZXh0IG9mIHBheW1lbnQuXHJcbiAgICAgICAgJi5wYXltZW50IHtcclxuICAgICAgICAgICAgLnJlbW92ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGlkZSB0aGUgc2VsZWN0IHJvdyBpbmZhdm91ciBvZiBjbGlja2luZyBvbiB0aGUgcm93IHRvIHByb2dyYW1hdGljYWxseSB0b2dnbGUgdGhlIGNoZWNrYm94IC8gcmFkaW8uXHJcbiAgICAgICAgdGguc2VsZWN0LWNvbCwgdGQuc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbnZhbGlkLWJhc2tldC10YWJsZSB7XHJcbiAgICAgICAgLy8gS2VlcCB0YWJsZSBpbmxpbmUgd2l0aCB0aGUgdGV4dGRiIGVudHJ5IGFib3ZlLlxyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyhzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgKiAyKX0pO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyhzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMiwgbGFyZ2UpICogMil9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZmVyZW5jZS1jb2wsIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cmllcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogODUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51cGRhdGVkLWNvbCwgLnVwZGF0ZWQtYnktY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjZXNzLWxldmVsLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJ5IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVweCA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZXZpc2lvbi1jb2x7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudXBkYXRlZC1ieS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTclO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudXBkYXRlZC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTElO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHVibGlzaGVkLWNvbCwgLmFjY2Vzcy1sZXZlbC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHtcclxuICAgICAgICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgJiArIC5uZXN0ZWQtdGFibGUtcm93IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmID4gdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZm9sZGVyLWZpbHRlcnMtdGFibGUge1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBjb250ZW50cyBzY3JvbGwgYmVoYXZpb3VyLlxyXG4udGFibGUtY29udGFpbmVyIHtcclxuICAgICRzaGFkb3ctY29sb3VyOiByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICAvLyBDb21tb24gc2Nyb2xsIHJ1bGVzLlxyXG4gICAgJi50YWJsZS1zY3JvbGwtZW5hYmxlZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpOyAvLyBsb2NraW5nIHRvIHByZXNldC0xIGFzIHRoYXQgc2VlbXMgdG8gYmUgd2hhdCB3ZSBjb21tb25seSB1c2UuXHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSGVhZGVyIGJveC1zaGFkb3cgd2hlbiBzY3JvbGxpbmcgLyBzY3JvbGwgYXQgYm90dG9tLlxyXG4gICAgJi5zY3JvbGwtbWlkZGxlLCAmLnNjcm9sbC1hdC1ib3R0b20ge1xyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA5cHggLTFweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRhaW5lciBib3R0b20gc2hhZG93LlxyXG4gICAgJi5zY3JvbGwtbWlkZGxlLCAmLnNjcm9sbC1hdC10b3Age1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNjcm9sbC1taWRkbGUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9LCBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFibGUgc3BlY2lmaWMgcnVsZXMuXHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgb3RoZXIgbWFyZ2luJ3MgaW1wb3NlZCBieSBTQVNTIGNvbmZpZyBhcyB0aGUgdGFibGUgaXMgaW4gdGhlIGNvbnRhaW5lciB3aXRoIGEgc2Nyb2xsYmFyIHVwIHRoZSBzaWRlIGxvb2tzIHdlaXJkLlxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC8vIE1ha2UgdGFibGUgY29sdW1uIGhlYWQgc3RpY2suXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0gSW5wdXRzIC0tLS0gXHJcbi0gU3R5bGluZyBmb3IgZm9ybSBpbnB1dHMgKCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSApXHJcbi0gUXVhbnRpdHkgc2VsZWN0b3JzXHJcbi0gRm9ybXNcclxuICAtIEZpZWxkc2V0c1xyXG4gIC0gRmllbGRzXHJcbi0gVmFsaWRhdGlvblxyXG4gIC0gRm9ybSBlcnJvcnMgZnJvbSB0aGUgc2VydmVyXHJcbiAgLSBBZHZhbmNlZCB2YWxpZGF0aW9uICggc2V0dGluZyBwYXNzd29yZCApXHJcbi0gUHJpbWFyeSwgU2Vjb25kYXJ5LCBFdGMgYnV0dG9ucyB1c2VkIHRocm91Z2hvdXQgdGhlIHNpdGUuXHJcbi0gVUkgYmxvY2sgcGFuZS5cclxuKi9cclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tLSBcclxuZm9ybSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gIH1cclxufVxyXG5cclxuLy8tLS0tLSBCdXR0b25zIC0tLS0tIFxyXG4vLy0tLSBTdWJtaXNzaW9uIC0tLVxyXG5mb3JtLmlzLWludmFsaWQge1xyXG4gIGJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5mb3JtLXN1Ym1pdC1idXR0b24ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gIH1cclxuICBcclxufVxyXG4vLyAtLS0gR2VuZXJhbCBidXR0b24gc3R5bGVzIC0tLVxyXG5idXR0b24ge1xyXG4gICY6ZGlzYWJsZWQsICYuZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9c3VibWl0XSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICB9XHJcbn1cclxuLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgLmNvbnRyb2wudGV4dCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IChsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApO1xyXG4gICAgICB9XHJcbiAgICAgXHJcbiAgICB9XHJcbiAgICAmLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7KGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWVsZCB7XHJcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDVweCAwO1xyXG4gIC8vIEFzc3VtZSB0aGUgbGFzdCBmaWVsZCBjb250YWlucyB0aGUgc3VibWl0IGJ1dHRvbi5cclxuICAvLyAmOmxhc3QtY2hpbGQge1xyXG4gICAgLy8gYnV0dG9uW3R5cGU9c3VibWl0XSB7XHJcbiAgICAgIC8vIEFkZCBpbiBzb21lIG1hcmdpbiB0byBraWNrIHRoZSBidXR0b24gYXdheSBmcm9tIHRoZSBmaWVsZHMgc2xpZ2h0bHkuXHJcbiAgICAgIC8vIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvLyB9XHJcbiAgLy8gfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICB9XHJcbiAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbiAgJi5hbGlnbi1sZWZ0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAvLyBtYXJnaW46IDVweCAwO1xyXG4gICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgfVxyXG4gICAgICAmLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIG1heC13aWR0aDogY2FsYygje3NtYWxsLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSk7XHJcbiAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygje3NtYWxsLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSAtICAje2xhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCl9KTtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFzc3dvcmQtcmV2ZWFsIHtcclxuICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICsgdGV4dGFyZWEge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWR2aXNvcnktdGV4dCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkZmllbGQtbGFiZWwtZm9udC1zaXplIC0gMykpO1xyXG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnRleHQsICYuZW1haWwsICYudGVsLCAmLm51bWJlciwgJi50ZXh0YXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmOmhhcyhidXR0b25bdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5LWJ1dHRvbikge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGNoZWNrYm94J3MgYXMgU2FmYXJpIGZlZWxzIHRvIGRpc3BsYXkgYSBibGFuayBhcmVhIGV2ZW4gdGhvdWdoIGNoZWNrYm94IGlucHV0J3MgaGF2ZSBoZWlnaHQgKyB3aWR0aCBwcm9wZXJ0aWVzIHNldCB0byAwO1xyXG4gICAgICAmOm5vdChbdHlwZT1jaGVja2JveF0pIHtcclxuICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gIH1cclxuICAubGFiZWwgKyB0ZXh0YXJlYSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIC8vIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKTtcclxuICAgICAgLy8gTmVlZCB0byBzZXQgYSBtYXgtd2lkdGggb3RoZXJ3aXNlIHdoZW4geW91IGV4cGFuZCB0aGUgYXJlYSBpdCB0YWtlcyB1cCB0aGUgZW50aXJlIHdpZHRoIGluIGEgZm9ybSBhbmQgcHVzaGVzIHRoZSBsYWJlbCBhYm92ZS5cclxuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICB9XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIC5lcnJvci1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1heC13aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSAvIDEuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6bm90KC5tZWRpdW0pOm5vdCgubGFyZ2UpOm5vdCgubGFyZ2UtMSkge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAmLnNtYWxsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICRmaWVsZC1qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICYubWVkaXVtIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICRmaWVsZC1qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5mdWxsLXdpZHRoIHtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGlzdCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwgeyBcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgcGFkZGluZy1yaWdodDogJGxhYmVsLWlucHV0LWdhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9ICBcclxuICAgIGEge1xyXG4gICAgICAvLyBkaXNwbGF5OiBibG9jazsgdG8gcHVzaCBhbmNob3JzIG9udG8gbmV3IGxpbmUuXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggMDtcclxuICB9XHJcblxyXG4gIC8vIC0tLSBUaGVzZSBhcmUgbm9ybWFsbHkgdXNlZCBmb3IgXCIgcGxlYXNlIHNwZWNpZnkgb3RoZXIgXCIgZmllbGRzIC0tLSAgXHJcbiAgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIC0tLSBNdWx0aS1jb2x1bW4gZm9ybSBmaWVsZCBzdXBwb3J0IC0tLSBcclxuICAmW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSwgJltjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdLCAmW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsLTEsICYubWVkaXVtLTEsICYubGFyZ2UtMSB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMzYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zbWFsbC0yIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfSBcclxuICAmLnNtYWxsLTMge1xyXG4gICAgd2lkdGg6IDMzJTtcclxuICB9IFxyXG4gICYubWVkaXVtLTIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5tZWRpdW0tMyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICB3aWR0aDogMzMlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxhcmdlLTIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxhcmdlLTMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICB3aWR0aDogMzMlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBPdXRwdXR0ZWQgY21zIGNvbnRlbnQgbmV4dCAvIHVuZGVyIGEgaW5wdXQgZmllbGQuXHJcbi5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xyXG4gIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAvLyBPdmVycmlkZSBjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSBhcyB3ZSdyZSBpbiB0aGUgY29udGV4dCBvZiBhIGZvcm0uXHJcbiAgcCwgYSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gIH1cclxuICBhIHtcclxuICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGltZyB7XHJcbiAgICBtYXJnaW46ICRhZGRpdGlvbmFsLWluZm8taW1hZ2UtbWFyZ2luO1xyXG4gIH1cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4vLyBVc2VkIGZvciBwb3N0Y29kZSBsb29rIHVwLlxyXG4ubG9va3VwLWNvbnRlbnQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8gLS0tIFJldmVhbCBQYXNzd29yZCAtLS0gXHJcbi8vIC5jb250cm9sLnRleHQucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbi8vICAgaW5wdXQge1xyXG4vLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XHJcbiAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG4gIGZvbnQtZmFtaWx5OiBjYXB0aW9uO1xyXG4gIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLy8gJi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICAvLyAgIGNvbG9yOiAkYWxlcnQtY29sb3VyO1xyXG4gIC8vIH1cclxuICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMgMCAwICRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9udC1zaXplOiA0NHB4O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IC0xNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYm94LXNoYWRvdzogMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6Zm9jdXMge1xyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gJi5pcy1pbnZhbGlkLWlucHV0OmZvY3VzKy5wYXNzd29yZC1yZXZlYWx7XHJcbiAgLy8gICBib3JkZXItY29sb3I6ICRlcnJvci1ib3JkZXItY29sb3VyO1xyXG4gIC8vIH1cclxuICAmICsgYnV0dG9uIHtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYXNzd29yZC1yZXZlYWwge1xyXG4gIHdpZHRoOiAkcmV2ZWFsLXBhc3N3b3JkLXdpZHRoO1xyXG4gIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBhc3N3b3JkLXJldmVhbCk7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICBmb250LXN0eWxlOiAxMnB4O1xyXG4gICAgY29sb3I6ICRyZXZlYWwtaWNvbi1jb2xvdXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaW5wdXQtYWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIC0tLSBCdXR0b24xIC0tLVxyXG4vLyBBY3Rpb24gYnV0dG9ucy5cclxuLmFjdGlvbi1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkYS1kZWZhdWx0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGEtZGVmYXVsdC1idXR0b24tY29sb3VyLCAkYS1kZWZhdWx0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICYuc3VjY2VzcywgJi5lbWFpbCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc3VjY2Vzcy1idXR0b24tY29sb3VyLCAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbiAgJi53YXJuaW5nIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICR3YXJuaW5nLWJ1dHRvbi1jb2xvdXIsICR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxuICAmLmFsZXJ0IHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxufVxyXG4vLyAtLS0tLSBHZW5lcmljIEJ1dHRvbnMgLS0tLS0tXHJcbi8vIEFsaWdubWVudCBjbGFzcydzIGZvciBDTVMgKCBSaWNoIFRleHQgRWRpdG9yICkgY29udGVudC5cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWNlbnRlciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1yaWdodCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1sZWZ0IHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuLy8gU0VUVElORyBNT0JJTEUtV0lEVEg6IEFVVE87IG90aGVyd2lzZSBpZiB3ZSB1c2UgMTAwJSArIGFkZCBtYXJnaW4gdGhlIGJ1dHRvbiB3aWxsIGJlIGRlLWNlbnRlcmFsaXNlZCBpbiBpdHMgY29udGFpbmVyLlxyXG4vLyBQUk8tVElQOiBTdHJ1Z2dsaW5nIHdpdGggbmFtaW5nIGEgYnV0dG9uPyB0cnkgdGhpczogcXVhdGVybmFyeSwgcXVpbmFyeSwgc2VuYXJ5LCBzZXB0ZW5hcnksIG9jdG9uYXJ5LCBub25hcnksIGRlbmFyeSB0aGlzIHdpbGwgdGFrZSB5b3UgdXAgdG8gMTAgdmFyaWF0aW9ucy4uLi5cclxuLy8gUHJpbWFyeSBidXR0b24gaXMgdHlwaWNhbGx5IHVzZWQgd2hlbiBwcm9jZWVkaW5nIHRvIHRocm91Z2ggdG8gYW5vdGhlciBwcm9jZXNzLlxyXG4uYnV0dG9uMSwgLnByaW1hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHByaW1hcnktYnV0dG9uLXBhZGRpbmcsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLy8gU2Vjb25kYXJ5IGJ1dHRvbiBpcyB0eXBpY2FsbHkgdXNlZCB3aGVuIGNhbmNlbGxpbmcgYW4gYWN0aW9uLlxyXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4udGVydGlhcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHRlcnRpYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkdGVydGlhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkdGVydGlhcnktYnV0dG9uLWNvbG91ciwgJHRlcnRpYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLnF1YXRlcm5hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHF1YXRlcm5hcnktYnV0dG9uLXBhZGRpbmcsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgJHF1YXRlcm5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgaW5saW5lLWZsZXgpO1xyXG59XHJcbi5xdWluYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRxdWluYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcXVpbmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRxdWluYXJ5LWJ1dHRvbi1jb2xvdXIsICRxdWluYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLy8gR2VuZXJpYyBidXR0b24gdGhhdCBnZXRzIHVzZSBieSBjbXMgZWRpdG9ycy5cclxuLmNtcy1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLWJ1dHRvbi1wYWRkaW5nLCAkY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1idXR0b24tY29sb3VyLCAkY21zLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCwgMCAwIDEwcHgpKTtcclxufVxyXG4uY21zLXByb2NlZWQtYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNXB4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtd2VpZ2h0O1xyXG4gIEBpZiAoJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm07XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ29weSB0byBjbGlwYm9hcmQgYnV0dG9uLlxyXG4uY29weS10by1jbGlwYm9hcmQtYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBUaGlzIG1heSBuZWVkIGV4dGVuZGluZyBpbiB0aGUgZnV0dXJlIHRvIHN1cHBvcnQgaWNvbiBiZWZvcmUgdGV4dC5cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNsaXBib2FyZC1jb3B5KTtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIHNpemU6IDE1cHg7XHJcbiAgfVxyXG4gIC5jb3BpZWQtdGV4dC1jb250YWluZXIge1xyXG4gICAgJGNvcGllZC10ZXh0LXBhZGRpbmc6IDVweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeygkY29waWVkLXRleHQtcGFkZGluZyAqIDIpfSk7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7KCRjb3BpZWQtdGV4dC1wYWRkaW5nICogMil9KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLSN7JGNvcGllZC10ZXh0LXBhZGRpbmd9O1xyXG4gICAgbGVmdDogLSN7JGNvcGllZC10ZXh0LXBhZGRpbmd9O1xyXG4gICAgcGFkZGluZzogJGNvcGllZC10ZXh0LXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIzLCAuOSk7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmxvY2F0aW9uLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDkuNXB4IDEycHggOS41cHggMjFweCwgJGxvY2F0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsICRsb2NhdGlvbi1idXR0b24tYm9yZGVyLWNvbG91ciwgMTQsNDAwLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBmbGV4LCAkbG9jYXRpb24tYnV0dG9uLWljb24tY29uZmlnLCAxKTtcclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZztcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gIC5yZWZlcmVuY2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuICBwYWRkaW5nOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGhpcmQtcGFydHktdHJhY2tpbmcpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWd1dHRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMiB7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDVweCAwIDA7XHJcbiAgcGFkZGluZzogNXB4IDhweDtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlcntcclxuICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRoaXJkLXBhcnR5LXRyYWNraW5nKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJpbnQtZWxlbWVudC1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91ciwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICgwLCAwKSwgZmxleCwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbn1cclxuXHJcbi5wcmludC1lbGVtZW50LWxpbmsge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG5cclxuICB9XHJcbn1cclxuXHJcbi8vIFBheXBhbCBCdXR0b24uXHJcbiNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNoZWNrb3V0LXBheXBhbC1idXR0b24tcGFkZGluZywgJGNoZWNrb3V0LXBheXBhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICgpLCAoKSwgMTVweCwgNjAwLCAod2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIG1lZGl1bTogMCwgbGFyZ2U6IDApKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDZyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgcGF5cGFsKSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSW5jcmVtZW50IHRhYmxlIHJvdyAgKCBlLmcuIG1hbmFnZSBjYXJkcyApLlxyXG4uaW5jcmVtZW50LXJvdy1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAxMHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlbGVjdGlvbi1pbmNyZW1lbnQpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG5cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIGNvbnRhaW5lcnMuXHJcbi5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxuICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAvLyBJZiBtYXJnaW4gUiArIEwgYXBwbGllZCBpbiBtb2JpbGUgdGhpcyB3aWxsIGNhdXNlIHRoZSBidXR0b25zIHRvIGJlIHN0ZXBwZWQgaW4gZHVlIHRvIGZvcm0gcGFkZGluZyBhcm91bmQgY29udGVudC5cclxuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IDVweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgIH1cclxuICAgICY6bnRoLW9mLXR5cGUoM24tMikge1xyXG4gICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHRoZXJlIGlzIHR3byBidXR0b24tY29udGFpbmVyJ3Mgb3Igb25seSBvbmUuXHJcbiAgICAmOm50aC1vZi10eXBlKDJuKSwgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgLy8gSWYgbm8gYWxpZ24gY2VudGVyLlxyXG4gICAgICAmOm5vdCguYWxpZ24tY2VudGVyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gU2VsZWN0IGFsbCBidXR0b25zIHRoYXQgYXJlIG5vdCBhY3Rpb24tYnV0dG9ucy5cclxuICAgICAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgJjpub3QoLmFjdGlvbi1idXR0b24pIHtcclxuICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3RoZXIgYnV0dG9ucy5cclxuICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgLy8gUHVzaCBhbGwgY29udGVudCB0byB0aGUgcmlnaHQuXHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlzIGEgZ3V0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDsgdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgJjpub3QoLmFjdGlvbi1idXR0b24pIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgLy8gYSwgYnV0dG9uIHtcclxuICAgIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIFNvIHRoZSBjYW5jZWwgYnV0dG9uIGFsd2F5cyBhcHBlYXJzIG9uIHRoZSByaWdodC5cclxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIEJhc2tldCAtLS1cclxuLmFkZFRvQmFza2V0Rm9ybSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCkge1xyXG4gIHdpZHRoOiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoO1xyXG4gIGhlaWdodDogJGFkZC10by1iYXNrZXQtaWNvbi1oZWlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAvLyBTdXBwcmVzc2luZyBjYW5ub3QgZ2VuZXJpY2FsbHkgYXBwbHkgdGhpcyBhY3Jvc3MgYWxsIGluc3RhbmNlLCB0aGlzIFwiIGd1dHRlciBcIiBpcyBmYXIgYmV0dGVyIGJlaW5nIG1hbmFnZWQgYnkgZmxleGJveGVzIGdhcCBwcm9wZXJ0eS5cclxuICAvLyBtYXJnaW4tbGVmdDogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICBmb250LXNpemU6ICRhZGQtdG8tYmFza2V0LWljb24tc2l6ZTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBOZXcgYWRkIHRvIGJhc2tldCBjbGFzcyB0aGF0IHNob3VsZCBnZXQgdXNlZCBpbnN0ZWFkIG9mIC5hZGQtdG8tYmFza2V0LCB0aGlzIGFsc28gZGUtY291cGxlcyB0aGUgSlMgbGlzdGVuZXJzIGZyb20gQ1NTIGNsYXNzIGFzIHdlbGwgd2hpY2ggaXMgcmVxdWlyZWQgYXMgcGFydCBvZiB0aGUgZm9sbG93aW5nIGpvYnMgODM4MjM4ICYgODIwMTk0LlxyXG4uYmFza2V0LWFkZC1idXR0b24ge1xyXG4gICYuaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCk7XHJcbiAgfVxyXG4gICYudGV4dC1iYXNlZCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWNvbG91ciwgJGJhc2tldC1idXR0b24tYm9yZGVyLCAkYmFza2V0LWJ1dHRvbi1mb250LXNpemUsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMTAwJSksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmFkZFRvQmFza2V0Lmljb24ge1xyXG4gIEBpbmNsdWRlIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKTtcclxufVxyXG5cclxuLmFkZC10by1iYXNrZXQge1xyXG4gICY6bm90KC5wcmVzZXQtMikge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWJvcmRlciwgJGJhc2tldC1idXR0b24tZm9udC1zaXplLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDEwMCUpLCAwKTtcclxuICB9XHJcbiAgJi5wcmVzZXQtMiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgKGdldC1idXR0b24tZm9udC1zaXplKCkgLyAxLjIpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKHdpZHRoOiAxMDBweCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLmRyb3Age1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbG9yOiAkY29sb3VyNiFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgYW5pbWF0aW9uOiBiYXNrZXRJY29uSG92ZXIgMC41cztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBiYXNrZXRJY29uSG92ZXIge1xyXG4gIDAlIHtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbiAgfVxyXG4gIDE1JSB7XHJcbiAgICB0b3A6IC0xNXB4O1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gIH1cclxuICAzMCUge1xyXG4gICAgdG9wOiAtMTBweDtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICB9XHJcbiAgNDUlIHtcclxuICAgIHRvcDogLTVweDtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIFN0b2NrbGluZSAtLS0gXHJcbi5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIge1xyXG4gIGEsIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHN0b2NrbGluZS1idXR0b24tcGFkZGluZywgJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBOb3QgbG9nZ2VkIGluIC0tLSBcclxuLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICBhLCBidXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJG5vdC1sb2dnZWQtaW4tYnV0dG9uLXBhZGRpbmcsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWNvbG91ciwgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gRW5xdWlyeSBmb3JtIGJ1dHRvbiAtLS0gXHJcbi5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLmVucXVpcnktYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkZW5xdWlyeS1idXR0b24tcGFkZGluZywgJGVucXVpcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkZW5xdWlyeS1idXR0b24tY29sb3VyLCAkZW5xdWlyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBGYXZvdXJpdGVzIC0tLVxyXG4vLyBUSElTIENPVUxEIEJFIENPTlNPTElEQVRFRCBJTlRPIE9ORSBDT0RFIFBBVEggTk9XIFRIRSA6SEFTIEdPT0QgU1VQUE9SVCBTTyBUSEUgQ1NTIENPVUxEIERFVEVDVCBJRiBUSEVSRSBJUyBBIExBQkVMIE9SIE5PVCwgVEhJUyBJUyBBRFZBTlRBR0VTIFRPIEhBVklORyBQUkVTRVRTIEZPUiBGTEVYSUJJSVRZLlxyXG4uZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgLy8gQ29tbW9uIHN0eWxlcy5cclxuICBhIHtcclxuICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICY6YWZ0ZXIsICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZhdm91cml0ZXMtZGVmYXVsdCk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGZhdm91cml0ZXMtaWNvbi1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYWN0aXZlIGEge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gSWNvbiB3aXRoIHRleHQgbGFiZWwuXHJcbiAgJi5wcmVzZXQxIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cik7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICY6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC8vIEp1c3QgYW4gaWNvbi5cclxuICAmLnByZXNldDIge1xyXG4gICAgICAmOm5vdCguYWN0aXZlKSBhIHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1oZWlnaHQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgIH1cclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbi8vQ2hlY2tib3hlcy4gcmFkaW8gYnV0dG9ucyAmIFNlbGVjdFxyXG5sYWJlbC5kaXNhYmxlZCwgbGFiZWwucmVhZG9ubHkge1xyXG4gIGN1cnNvcjogbm8tZHJvcDtcclxufVxyXG5cclxuLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jb250cm9sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAvL2VuZm9yY2UgdGhpcyBzbyBmb3VuZGF0aW9uIGRvZXNuJ3Qgb3ZlcnJpZGUgaXQuXHJcbiAgLy9kaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICB3aWR0aDogMCFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAwIWltcG9ydGFudDtcclxuICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gIGZsZXg6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICAvLyBPbmx5IGluIGZpcmVmb3ggdGhlcmUgYXBwZWFycyB0byBiZSBhIDRweCBib3JkZXIgYXJvdW5kIGNoZWNrYm94ZXMgc28gdGhpcyBpcyBhIGhhY2t5IGZpeCwgZGlzcGxheTogY29udGVudHM7IGFsc28gd29ya3MgYnV0IHRoZW4gaW50cm9kdWNlcyBhIGJ1ZyB3aGVyZSB5b3UgY2Fubm90IHNoaWZ0K3RhYiBvbiBjaGVja2JveGVzIGFueW1vcmUuXHJcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgIG1hcmdpbi1yaWdodDogLTRweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEdlbmVyYWwgaW5wdXQgc3R5bGluZyAtLS0tLVxyXG4uY29udHJvbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIC8vIENlbnRlciBpdGVtcyBpbiBtb2JpbGUgZHVlIHRvIFNhZmFyaSBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2hlbiBpbnB1dHMgd2l0aCBidXR0b25zIHRoYXQgaGFzIG5lc3RlZCBmb250IGljb25zLlxyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIC8vIE9ubHkgcmVhbGx5IHdhbnQgdG8gdGhpcyBvbiBtb2JpbGUgaGF2ZW4ndCB0ZXN0ZWQgdGhpcyB3aXRoIGRlc2t0b3Agdmlldy5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICB9XHJcbiAgLy8gLS0tIEhpZGRlbiBpbnB1dCBzdHlsaW5nIC0tLVxyXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vIERvIG5vdCBhcHBseSB2aXNpYmlsaXR5OiBoaWRkZW4gb3RoZXJ3aXNlIDpmb2N1cyBkb2Vzbid0IHdvcmsuXHJcbiAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAmLmlzLWhvdmVyZWQsICY6aG92ZXIge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG5cclxuICAmLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTsgXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLmlucHV0LXByZWZpeC1pY29uLCBpbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1mb2N1c2VkIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBJZiB0aGUgbGFiZWwgaXMgb3V0c2lkZSBvZiB0aGUgLmNvbnRyb2wgY29udGFpbmVyICggZS5nLiBsYWJlbCBhZnRlciBjaGVja2JveCApLlxyXG4gICYgKyAubGFiZWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtaW5wdXQtZ2FwO1xyXG4gIH1cclxuXHJcbiAgLy8gSWNvbiB0aGF0IHNpdHMgYmVmb3JlIHRoZSBpbnB1dC5cclxuICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICYgKyBpbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuICAgICYgKyBpbnB1dCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgLy8gSG92ZXIgc3RhdGVzIGZvciB2aXNhYmxlIGlucHV0cy5cclxuICAmOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXSwgaW5wdXRbdHlwZT10ZWxdLCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaG92ZXItY29sb3VyKCRpbnB1dC1ib3gtc2hhZG93KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5yZWFkLW9ubHktaW5wdXQsICYuZGlzYWJsZWQtaW5wdXQge1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgLy8gRm9yIG1vYmlsZSBkZXZpY2VzIHN1cHByZXNzIGZvciB0ZXh0IGZpZWxkcy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgJjpub3QoLnRleHQpIHtcclxuICAgICAgICBAaW5jbHVkZSBpbnB1dFJlYWRPbmx5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNob3cgZm9yIGFsbCBmaWVsZHMgaW4gZGVza3RvcC5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgQGluY2x1ZGUgaW5wdXRSZWFkT25seSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG4gIC8vLS0tIENoZWNrYm94IC0tLVxyXG4gICAmLmNoZWNrYm94IHtcclxuICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgLy8gSW4gbW9iaWxlIHdlIHdhbnQgY2hlY2tib3hlcyB0byBkZWZhdWx0IHRvIHdpZHRoOjEwMCUgYnV0IG92ZXJyaWRlIHdpZHRoIGluIGRlc2t0b3A7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOm5vdCguc21hbGwpIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLy8gLS0tIFJhZGlvIEJ1dHRvbnMgLS0tIFxyXG4gICYucmFkaW8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICAvLyBSYWRpbyBidXR0b24gZGVzaWduLlxyXG4gICYucmFkaW86bm90KC5jaGVja2JveCkgeyBcclxuICAgIGlucHV0IHtcclxuICAgICAgLy8gSWYgcmFkaW8gYWN0aXZlLlxyXG4gICAgICAmOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuLnJhZGlvIHtcclxuICAgICAgd2lkdGg6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBoZWlnaHQ6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIGhlaWdodDogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gZmxleGJveCBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciBpcyBvZmYgYnkgLjVweC5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAuMnB4O1xyXG4gICAgICAgIGxlZnQ6IC40cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gQ2hlY2tvdXQgc3R5bGVzLlxyXG4gICYucmFkaW8uY2hlY2tib3gge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8tLS0gU2VsZWN0IC0tLVxyXG4gICYuc2VsZWN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBzZWxlY3QgZHJvcGRvd24gdG8gb3ZlcmxhcCB0aGUgcmVjYXB0Y2hhIGJhZGdlIGluIG1vYmlsZS5cclxuICAgIC8vIHotaW5kZXg6IDE7XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBoZWlnaHQ6ICRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAmOmRpc2FibGVkLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgJiArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7IFxyXG4gICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmRpc2FibGVkLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciB7XHJcbiAgICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLWludmFsaWQtaW5wdXQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICB9XHJcbiAgICAgJjpmb2N1cyB7XHJcbiAgICAgICArIGRpdltjbGFzcz1jb250cm9sLXNlbGVjdC1jb250YWluZXJdIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICB9XHJcbiAgICAgfSBcclxuICAgIH1cclxuICAgICYuaXMtY2xvc2luZyB7XHJcbiAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIge1xyXG4gICAgICAvLyBNYWtlIHN1cmUgdGhleSBhcHBlYXIgdW5kZXIgdGhlIGhlYWRlciB3aGVuIHN0aWNreS5cclxuICAgICAgei1pbmRleDogMTk5OTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7IFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmRyb3Bkb3duLXRvcCB7XHJcbiAgICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7ICBcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTg1cHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpOyBcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi1ib3R0b20ge1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi10b3Age1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLXRvcC5hY3RpdmUge1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICB3aWR0aDogJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgIH1cclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgLy8gTmVlZCB0byBzZXQgaGVpZ2h0OiAxMDAlIG90aGVyd2lzZSB0aGUgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIgaWYgaXQgaGFzIGEgc2V0IGhlaWdodC5cclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoICsgMyk7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyBOZWVkIHBvc2l0aW9uIGFic29sdXRlIG90aGVyd2lzZSBpbiBtb2JpbGUgcHVzaGVzIHRoZSBlbnRpcmUgcGFnZSBkb3duLlxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vIHRvcDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDFweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICZbc2VsZWN0ZWRdIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICB9XHJcbiAgICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpOyBcclxuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAvLyBBZGRpbmcgaW4gYSBtaW4td2lkdGggdG8gcHJldmVudCBjcmFtcGVkIHNlbGVjdCBkcm9wZG93bnMgd2l0aCBzaG9ydGVkIHN0cmluZ3Mgb2YgdGV4dCBmb3IgdGhlaXIgb3B0aW9uIGRlc2NpcHRpb25zLlxyXG4gICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAvLyBEb250IHNldCAxMDAlIGp1c3QgaW5jYXNlIHRoZXJlIGlzIGEgdG9vbHRpcCBhc3NpZ25lZC5cclxuICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGlucHV0IHRvIHRha2UgdXAgYXZhbGFibGUgd2lkdGguXHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpO1xyXG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYudGl0bGUge1xyXG4gICAgICAvLyB3aWR0aDogYXV0bztcclxuICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIC8vICAgICB3aWR0aDogYXV0bztcclxuICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gSW5jcmVhc2luZyB0byAyNTBweCB0byBhbGxvdyBmb3IgdW4tc2VsZWN0ZWQgdmFsdWUuXHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYudGV4dCB7XHJcbiAgICBjdXJzb3I6IHRleHQ7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAmOm5vdChbdHlwZT1wYXNzd29yZF0pOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmLmlzLWludmFsaWQtaW5wdXQge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgICY6Zm9jdXMgeyBcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguaXMtaW52YWxpZC1pbnB1dCkgKyBidXR0b24ge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNsaWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbiAgJi5maWxlIHtcclxuICAgIC8vIEhhdmluZyB0byB1c2UgaW1wb3J0YW50IGR1ZSB0byBvdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRpbnB1dC1maWxlLXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1maWxlLW91dGVyLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRofSk7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGh9KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgYm9yZGVyOiAkaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGggZGFzaGVkIG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGlucHV0LWZpbGUtd2lkdGgpIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZzogMzhweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmLmlzLXJlYWR5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXJlYWR5IHtcclxuICAgICAgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZC1yZWFkeSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIH1cclxuICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXJlbW92ZSk7XHJcbiAgICAgICAgICBAaWYgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZyk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZmlsZS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICBmb250LXdlaWdodDogJGlucHV0LWZpbGUtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAobGFyZ2UtdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZykgLyAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpbGUtdXBsb2FkLWljb24ge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtdXBsb2FkLWljb24pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICAgICYgKyAubGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWxlLXNpemUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1yZW1vdmUpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5zZWFyY2gge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBUb29sdGlwcy5cclxuICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBhbmltYXRpb246IGFuaW1hdGVUb29sVGlwSGludCAycztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgLy8gei1pbmRleDogNTAwO1xyXG4gIHNlbGVjdCwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgIHdpZHRoOiAkcXVhbnRpdHktZHJvcGRvd24td2lkdGg7XHJcbiAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICB9XHJcbiAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgIHBhZGRpbmctbGVmdDogJHF1YW50aXR5LWRyb3Bkd29uLXBhZGRpbmctbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcclxuICAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIH1cclxuICAyMCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXQge1xyXG4gIC8vIEdvaW5nIGFnYWluc3QgdGhlIGdyYWluIGhlcmUgYmVjYXVzZSBvZiBpT1MgaWYgd2UgZG8gbm90IHNldCB0aGUgZm9udC1zaXplIHRvID4gMTZweCB0aGVuIGJyb3dzZXIgd2lsbCB6b29tIGluIG9uIHRoZSBpbnB1dCBmaWVsZC4uLiBodHRwczovL2Nzcy10cmlja3MuY29tLzE2cHgtb3ItbGFyZ2VyLXRleHQtcHJldmVudHMtaW9zLWZvcm0tem9vbS8gYW5kIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI5ODkyNjMvZGlzYWJsZS1hdXRvLXpvb20taW4taW5wdXQtdGV4dC10YWctc2FmYXJpLW9uLWlwaG9uZSwgdGhlcmUgaGFzIGJlZW4gc3VnZ2VzdGlvbnMgdGhhdCB0aGUgZml4IGluIHRoYXQgc3RhY2sgcG9zdCBzcGVjaWZpY2FsbHkgXCIgbWF4aW11bS1zY2FsZT0xIFwiIGhhcyBjYXVzZWQgaXNzdWVzIHdpdGggYW5kcm9pZCBkZXZpY2VzIG5vdCBiZWluZyBhYmxlIHRvIHBpbmNoIHpvb20gc28gSSBoYXZlIG9wdGVkIHRvIGdvdCBkb3duIHRoZSBwdXJlIGNzcyBmaXguXHJcbiAgQGlmICgkaW5wdXQtZm9udC1zaXplIDwgMTYpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgKCRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICY6YXV0b2ZpbGwge1xyXG4gIC8vICAgY29sb3I6ICRjb2xvdXIzLTMgIWltcG9ydGFudDtcclxuICAvLyAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIC8vIH1cclxufVxyXG5cclxuaW5wdXQubWFpbC1pbnB1dCB7XHJcbiAgLy8gbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGh9KTtcclxuICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgLy8gRGVmYXVsdCBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGlucHV0IGZvciBzbWFsbCBkZXZpY2VzIGFzIGJ1dHRvbiB3aWxsIG5lZWQgdG8gd3JhcC5cclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBAaWYgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgLy8gRG8gd2Ugd2FudCB0aGUgYnV0dG9uIHRvIGFwcGVhciBzZXBlcmF0ZSBmcm9tIHRoZSBpbnB1dC5cclxuICAgIEBpZiAkbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50cyB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIC8vICY6Zm9jdXMgKyBidXR0b24ge1xyXG4gICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAgICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgLy8gfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGJvcmRlci13aWR0aDogJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXI7XHJcbiAgfVxyXG4gICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICArIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIHdpZHRoOiAkbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pIHtcclxuICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKTtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6ICRtYWlsaW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAvLyBEZWZhdWx0IHRvIHRoZSBib3JkZXIgZ29lcyBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGJ1dHRvbiBmb3Igc21hbGwgZGV2aWNlcyBhcyB0aGUgYnV0dG9uIHdpbGwgd3JhcC5cclxuICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaWYgJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgbm90ICgkbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSA9PSBcIm5vbmVcIikge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIEBpZiAkbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50cyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkbWFpbGluZy1idXR0b24tYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgJjplbXB0eSB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtYWlsKTtcclxuICAgICAgICB3aWR0aDogJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmVtcHR5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IGdyb3VwZWQgaGlkZGVuIGZpZWxkcyB0aGF0IGdldCB0b2dnbGVkICggdGhpbmsgZGVsaXZlcnkgYWRkcmVzc2VzICkuXHJcbi5jb25kaXRpb25hbC1pbnB1dHMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgbWF4LWhlaWdodDogMjAwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFF1YW50aXR5IFNlbGVjdG9ycyAtLS0tLVxyXG4vLyAtLS0gRnJlZSBUZXh0IC0tLSBcclxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8gLS0tIENvbG91cmluZyAtLS1cclxuICAvLyBEZWZhdWx0XHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImRlZmF1bHRcIik7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQcmVzZXQgMVxyXG4gICYucHJlc2V0LTEge1xyXG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50ICB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgY29sb3Vycy5cclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRpc2FibGVkXCIpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkaXNhYmxlZFwiKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYWJlbCB7XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRxdWFudGl0eS1sYWJlbC1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICBsaW5lLWhlaWdodDogJHF1YW50aXR5LWxhYmVsLWxpbmUtaGVpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcXVhbnRpdHktbGFiZWwtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERlLWFjdGl2YXRlIHNwaW5uZXIgYnV0dG9ucyBhcyB3ZSBoYXZlIHRoZSBpbmNyZW1lbnRvciBidXR0b25zIG9uIGVpdGhlciBzaWRlLlxyXG4gIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPW51bWJlcl0ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gRXJyb3Igc3R5bGluZy5cclxuICAvLyBNb3JlIGdlbmVyaWMgZXJyb3Igc3R5bGluZyBub3cgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHN1cHBvcnQgSUUuXHJcbiAgJjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkge1xyXG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIE9sZCB3YXkgb2YgZG9pbmcgdGhpcyByZXF1aXJpbmcgSlMuXHJcbiAgJi5pcy1pbnZhbGlkLXF1YW50aXR5IHtcclxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1lcnJvciB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5xdWFudGl0eS1lcnJvciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBAaWYgKCRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XHJcbiAgICAvLyBJRSBEb2Vzbid0IHNlZW0gdG8gbGlrZSB0aGlzIGFwcHJvYWNoLlxyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgfVxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLFxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcXVhbnR0aXktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6ICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1YW50aXR5LXNlbGVjdG9yLWluY3JlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVhbnRpdHktc2VsZWN0b3ItZGVjcmVtZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTZWxlY3QgZHJvcGRvd24gIC0tLVxyXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xyXG4gIH1cclxuICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDtcclxuICB9XHJcbiAgLnNlbGVjdCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgaGVpZ2h0OiAkcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgQGluY2x1ZGUgcXVhbnRpdHktc2VsZWN0b3ItbGFiZWwoKTtcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEFiaWRlIC0tLS0tIFxyXG4vLyAtLS0gRm9ybSBFcnJvcnMgLS0tXHJcbi8vIFN0YW5kYXJkIEVycm9yIHRoYXQgZ2V0cyBzaG93IHVuZGVyIHRoZSBmaWVsZC5cclxuc3Bhbi5mb3JtLWVycm9yIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlcjogMDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAmLmlzLXZpc2libGUge1xyXG4gICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxufVxyXG4vLyBFcnJvciB0aGF0IGRvZXNuJ3QgZ2V0IHNob3cgZGlyZWN0bHkgaW4gdGhlIG1haW4gY29udGVudCBidXQgcmF0aGVyIGluIGEgY2FsbG91dC5cclxuc3Bhbi5mb3JtLWNhbGxvdXQtZXJyb3Ige1xyXG4gIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24uXHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4gIC8vIGFuaW1hdGlvbjoga2Zfc2hha2UgMC40cyAxLjggbGluZWFyO1xyXG59XHJcblxyXG5cclxudWwuYWR2YW5jZWQtdmFsaWRhdGlvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICA+IGxpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFkdmFuY2VkLWZvcm0tZXJyb3Ige1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICBmb250LXdlaWdodDogJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgIGZvbnQtc3R5bGU6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICAgIGNvbG9yOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tZmFpbCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtaWNvbi1jb2xvdXI7XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy12YWxpZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLXN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLWludmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tZmFpbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoZSByZWFzb24gZm9yIHRoZSBvdmVycmlkZXMgaXMgYmVjYXVzZSB3ZSBuZWVkIHRvIHV0aWxpc2UgYWJpZGUncyBsaXZlIHZhbGlkYXRpb24gd2hpY2ggYWRkcyB0aGUgaW52YWxpZCBjbGFzcywgaXQgaXMgZmFyIHNpbXBpbGFyIHRvIG92ZXJyaWRlIGhlcmUgaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIG5vZGUgbW9kdWxlcy5cclxuLmFkdmFuY2VkLXZhbGlkYXRpb24tYWN0aXZlLmlzLWludmFsaWQtbGFiZWwge1xyXG4gIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIC8vIC5pcy1pbnZhbGlkLWlucHV0OmZvY3VzIHsgXHJcbiAgLy8gICBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAvLyAgICYgKyAubGluZS1idXR0b24ge1xyXG4gIC8vICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuXHJcbi8vIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gZ3JvdXAtZm9ybS1lcnJvciAmIGVycm9yLWJsb2NrIGlzIHRoZSBlcnJvci1ibG9jayBpcyBkaWN0YXRlZCBieSB0aGUgc2VydmVyIHdoZW4gdG8gc2hvdyBidXQgZ3JvdXAtZm9ybS1lcnJvciBpcyBzaG93biB3aGVuIHRoZSBKUyB2YWxpZGF0aW9uIGRlY2lkZXMgd2hlbiB0b2RvIHNvLlxyXG4uZ3JvdXAtZm9ybS1lcnJvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXJnaW46IDEwcHggMCAwO1xyXG4gIEBpbmNsdWRlIGVycm9yLWJsb2NrKCk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gU3VwcmVzc2luZyB0byBhbGxvdyBmb3IgYnV0dG9uIG1hcmdpbiBoYW5kbGUgdGhlIGd1dHRlcnMsIHRoaXMgd2FzIGRlY2lkZWQgZm9yIGRvd25sb2FkIG9yZGVycy5cclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGZvciBzZXJ2ZXIgZm9ybSBlcnJvcnMuXHJcbi5lcnJvci1ibG9jayB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gIEBpbmNsdWRlIGVycm9yLWJsb2NrKCk7XHJcbn1cclxuXHJcbi8vIC0tLSBHZW5lcmFsIHZhbGlkYXRpb24gLS0tXHJcbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwge1xyXG4gIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICArIHNwYW4uY2hlY2tib3gge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMga2Zfc2hha2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7XHJcbiAgfVxyXG5cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCk7XHJcbiAgfVxyXG59XHJcbi5maWVsZC1sZWFkLWluLXRleHQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICAmOm5vdCguZGlzYWJsZWQpLCAmOm5vdCgucmVhZC1vbmx5LWlucHV0KSB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgLy8gU3BlY2lmaWNhbGx5IG5vdCBmaWxlIHR5cGUgZHVlIHRvIHRoYXQgc3Bhbm5pbmcgdGhlIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgJjpub3QoW3R5cGU9ZmlsZV0pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuICAgICAgLy93aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcclxuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pbnZhbGlkLWlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3Zlcik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gR29pbmcgYmFjayBvbiB0aGlzIGRlY2lzaW9uIGFzIEZpcmVmb3ggb24gaGFzIDIuNzUlIG9mIGdsb2JhbCB1c2FnZSwgdGhlIHdheSB0byBmaXggdGhpcyBpcyB0byBlc3NlbnRhbGx5IG91dHB1dCB0aGUgYnV0dG9uIG1hbnVhbGx5IHVzaW5nIEhUTUwgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzc4NDYwMjMvaW5wdXQtdHlwZS1zZWFyY2gtbm8tbG9uZ2VyLXNob3dzLWNhbmNlbC1idXR0b24teC11bmRlci1maXJlZm94XHJcbi8vIER1ZSB0byBsYWNrIG9mIGJyb3dzZXIgc3VwcG9ydCB0aGlzIG5lZWRzIHRvIGJlIHN1cHByZXNzIGR1ZSB0byBjb25zaXN0ZW5jeS5cclxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xyXG4vLyBpbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1jbGVhciB7ICBkaXNwbGF5OiBub25lOyB3aWR0aCA6IDA7IGhlaWdodDogMDsgfVxyXG4vLyBpbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1yZXZlYWwgeyAgZGlzcGxheTogbm9uZTsgd2lkdGggOiAwOyBoZWlnaHQ6IDA7IH1cclxuXHJcbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gQ2hyb21lICovXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24geyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4vLyAtLS0tLSBQb3N0Y29kZSBsb29rdXAgLS0tLS1cclxuLmxvb2t1cC1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8vIC5wb3N0Y29kZS1sb29rdXAtY29udGFpbmVyIHtcclxuLy8gICAubGFiZWwge1xyXG4vLyAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbi8vICAgICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAmLmFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbn1cclxuaW5wdXQubG9va3VwLWtleSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiAzNjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuICAmICsgYnV0dG9uICB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gIH1cclxuICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbi5sb29rdXAtc3VibWl0IHtcclxuIC8vQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyMSwgMTQsIDYwMCwgMCAxNXB4KTtcclxuIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcGNvZGUtbG9va3VwLWJ1dHRvbi1wYWRkaW5nLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZShcImFzc29jaWF0ZWRcIiksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKFwiYXNzb2NpYXRlZFwiKSwgKHdpZHRoOiBhdXRvLCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDEwcHggMCAwLCBtZWRpdW06IDAgMCAwIDEwcHgsIGxhcmdlOiAwIDAgMCAxMHB4KSk7XHJcbn1cclxuXHJcbi5sb29rdXAtcmVzdWx0cyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdWwge1xyXG4gICAgbWF4LWhlaWdodDogMjI1cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAuc2VsZWN0ZWQge1xyXG4gICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBidXR0b24sIGEge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGlmICgkbG9va3Vwcy1yZXN1bHRzLWhpZ2hsaWdodGVkLXRleHQtZW5hYmxlZCkge1xyXG4gICAgICAvLyBIaWdobGlnaHQgY29udGVudC5cclxuICAgICAgc3BhbiB7IFxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUgeyBcclxuICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmJyYW5jaC1zZWFyY2gsICYuYWNjb3VudC1zZWFyY2gge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDtcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gLS0tLS0gR2VvbG9jYXRpb24gLS0tLS1cclxuLmdlb2xvY2F0aW9uLWNvbnRpYW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vLyAtLS0tLSBEZWZhdWx0IHNlYXJjaCBzdHlsZXMgLS0tLS0gXHJcbmlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgZmxleDogMTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIEBpZiAoc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIC8vIHBhZGRpbmc6IDAgNzBweCAwIDI1cHg7XHJcbiAgLy8gfVxyXG4gIC8vIENvbnRyYXN0IGNoZWNrZXIgZm9yIHNlYXJjaCBidXR0b24uXHJcbiAgLy8gRGVmYXVsdFxyXG4gICRidXR0b24tY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCkgLG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAvLyBIb3ZlclxyXG4gICRidXR0b24tY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAvLyBBY3RpdmVcclxuICAkYnV0dG9uLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKSxtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcblxyXG4gICY6aG92ZXIsICYuaG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMjBweCA2cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgKyBidXR0b24ge1xyXG4gICAgICBib3gtc2hhZG93OiAxNXB4IDBweCAyMHB4IDJweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpmb2N1cywgJjphY3RpdmUsICYuZm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgICsgYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgLy8gQml0IG9mIGEgaGFjayBidXQgdGhlIG9ubHkgd2F5IHRvIHZlcnRpY2FsbHkgYWxpZ24gdGhlIHRleHQgZHVlIHRvIHNvbWUgZm9udCBmYW1pbHkncyBtYWtpbmcgdGhlIHRleHQgYXBwZWFyIHNsaWdodCBoaWdoaWVyIHRoYW4gb3RoZXJzIC4uLi4uIGFuZCBubyBmbGV4Ym94IGRvZXNuJ3QgaGVscCBoZXJlIEkgdHJpZWQuXHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgY29sb3I6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3VyO1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgLy9mb250LXdlaWdodDogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgIEBpZiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlIHtcclxuICAgICAgZm9udC1zdHlsZTogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZTtcclxuICAgIH1cclxuICAgIHRleHQtdHJhbnNmb3JtOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gIH1cclxuICBAaWYgKHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICY6bm90KDpoYXMoKyBidXR0b24pKSB7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbiAgKyBidXR0b24ge1xyXG4gICAgd2lkdGg6ICRzZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgd2lkdGg6ICRzZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgZm9udC1zaXplOiAkc2VhcmNoLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQGlmICRzZWFyY2gtYnV0dG9uLWlubmVyLWJvcmRlciB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFRvZ2dsZWFibGUgaW5wdXRzIC0tLS0tIFxyXG4udG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBHZXRzIHBsYWNlZCBvdmVyIHRoZSBmaWVsZHMgdG8gYmxvY2sgdGhlIHVzZXIgZnJvbSBjbGlja2luZyBvbiB0aGVtIC0tLS1cclxuLnVpLWJsb2NrLXBhbmUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJsb2NrLWJhY2tncm91bmQ7XHJcbiAgY3Vyc29yOiBuby1kcm9wO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuby1hY2Nlc3MpO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogODJweDtcclxuICAgICAgY29sb3I6IHJnYmEoJGNvbG91cjMtMywgMC42KTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNTTyBTZWxlY3Rpb24gLS0tLS1cclxuLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmc6ICN7JHNzby1jb21tb24tZ2FwfSAwO1xyXG4gIH1cclxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6ICRzc28tY29tbW9uLWdhcDtcclxuICB9XHJcbiAgLm9wdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmICsgLnNzby1zZXBlcmF0b3Ige1xyXG4gICAgICBtYXJnaW4tdG9wOiAkc3NvLWNvbW1vbi1nYXA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zc28tYnV0dG9uIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc3NvLWJ1dHRvbi13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgLy8gVXNpbmcgbWljcm9zb2Z0IGJ1dHRvbiBzdmcgd2lkdGggJiBoZWlnaHQgdG8gZ2l2ZSBvdXIgYXNwZWN0IHJhdGlvLiBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZW50cmEvaWRlbnRpdHktcGxhdGZvcm0vaG93dG8tYWRkLWJyYW5kaW5nLWluLWFwcHNcclxuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkc3NvLWJ1dHRvbi13aWR0aCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLm1pY3Jvc29mdCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skc2hhcmVkLWJ1dHRvbnMtZGlyZWN0b3J5ICsgaWYoJHNzby1idXR0b24tbWljcm9zb2Z0LXRoZW1lID09IFwibGlnaHRcIixcIm1pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIsXCJtaWNyb3NvZnQtc3NvLWRhcmsuc3ZnXCIpfScpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3NvLXNlcGVyYXRvciB7XHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc3NvLXNlcGVyYXRvci1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59IiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuLy8gRm91bmRhdGlvbiBTQVNTIGZ1bmN0aW9uLlxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG4vLyBFeHByZXNzIGNvbmZpZ3VyYXRpb247XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcclxuLy8gRXhwcmVzcyBNSVhJTidzLlxyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4vLyBFeHByZXNzIHR5cG9ncmFwaHkuXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHkuc2Nzcyc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICRjb2xvdXI0LFxyXG4gIHNlY29uZGFyeTogJGNvbG91cjMsXHJcbiAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICRjb2xvdXIzLTE7XHJcbiRtZWRpdW0tZ3JheTogJGNvbG91cjMtMjtcclxuJGRhcmstZ3JheTogJGNvbG91cjMtMztcclxuJGJsYWNrOiAkY29sb3VyMjtcclxuJHdoaXRlOiAkY29sb3VyMTtcclxuJGJvZHktYmFja2dyb3VuZDogbnVsbDsgLy8gVGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5cclxuJGJvZHktZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBwb2ludGVyO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAkZ2xvYmFsLXdpZHRoLCAvLyBSYWlzaW5nIGxhcmdlIGJyZWFrcG9pbnQgdmFsdWUsIHNvIGF0IDE1MCUgem9vbSB3ZSBnbyBpbnRvIG1vYmlsZS5cclxuICB4bGFyZ2U6IDE2MDBweCxcclxuICB4eGxhcmdlOiAxOTIwcHhcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgaGlkcGktMTogMSxcclxuICBoaWRwaS0xLTU6IDEuNSxcclxuICBoaWRwaS0yOiAyLFxyXG4gIHJldGluYTogMixcclxuICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07IC8vIFRoZSByZWFzb24gZm9yIGxvd2VyaW5nIHRoaXMgaXMgdGhpcyB3aWxsIGFsbG93IHRoZSByZXNwb25zaXZlIHRhYmxlIGJyZWFrcG9pbnQga2ljayBpbiBnaXZlbiB3ZSdyZSBnb2luZyBhYm92ZSAxMzAwcHggZGVuc2UgdGFibGVzIHdvdWxkIGJlIGJldHRlciBzaG93IGluIG1vYmlsZSB2aWV3LlxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gSU1QT1JUQU5UOiBETyBOT1QgVVNFIFRIRVNFIENPTkZJR1VSQVRJT04gT1BUSU9OUyBUSEUgU0FTUyBGSUxFIElTIE5PIExPTkdFUiBCRUlORyBJTVBPUlRFRCBBTkQgRVhQUkVTUyBIQU5ETEVTIEhFQURJTkcgRk9OVFMgSVRTRUxGIFNFRSBfVFlQT0dSQVBIWS5TQ1NTXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM1KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZXJyb3ItZm9udC1zaXplKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4vLyBJbnN0ZWFkIG9mIHVzaW5nIGZvdW5kYXRpb24ncyBpbmRpY2F0b3JzIHdlIHVzZSBvdXIgb3duIGR1ZSB0byBwb3NpdGlvbmluZy5cclxuJGFjY29yZGlvbi1wbHVzbWludXM6IGZhbHNlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKCRhY2NvcmRpb25zLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvdXIxO1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDA7XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IG51bGw7XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogJGJyZWFkY3J1bWJzLXVwcGVyY2FzZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogbWFwLWdldCgkc2l0ZS1pY29ucywgYnJlYWRjcnVtYnMtc2VwZXJhdG9yKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6IDA7XHJcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDA7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXNpemVzOiAoXHJcbiAgc21hbGw6IDAuNXJlbSxcclxuICBkZWZhdWx0OiAxcmVtLFxyXG4gIGxhcmdlOiAzcmVtLFxyXG4pO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogMDtcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XHJcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAyNnB4LCAvLyBhZGRpbmcgcG9zc2l0aW9uIHJpZ2h0IHRvIGJlIGlubGluZSB3aXRoIGFjY29yZGlvbiBzdGF0dXMgYXJyb3dzLlxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IGF1dG8sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBUYWtpbmcgYmFjayBvd25lcnNoaXAgZnJvbSBmb3VuZGF0aW9uIG9uIGFycm93IGZ1bmN0aW9uIGR1ZSB0byBuZWVkaW5nIHRvIGFsbG93IGZvciBjb25maWd1cmF0aW9uIGZvciBpY29ucy5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vIFRoZXNlIHZhbHVlcyB3ZXJlIHNldCB0byBudWxsIGFzIHRoZXkgd2VyZSBjb25mbGljdGluZyB3aXRoIHRoZSAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIgY29sb3VyIHNjaGVtZXMgYmFzaWNhbGx5IGNhdXNpbmcgdGhlIGJhY2tncm91bmQgY29sb3VyIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBjb250ZW50IGNvbG91ci5cclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IG51bGw7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG51bGw7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4vLyRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvdXI7XHJcbiRpbnB1dC1mb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZm9udC1zaXplKTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IDA7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6ICRib3hTaGFkb3czO1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGxhYmVsLWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbi8vIERpc2FibGluZyB0aGlzIGluIGZhdm91ciBvZiBzdHlsZXMgaW4gX2F4aXMtbWVudXMuc2Nzc1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogbnVsbDtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiBudWxsO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogZmFsc2U7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiBmYWxzZTtcclxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4gIGxhcmdlOiA0MDBweFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiA0MDAwO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRjb2xvdXI2O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3VyNDtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC40MXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41O1xyXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDA7XHJcbiR0YWJsZS1wYWRkaW5nOiAwO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiAkdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1zdHJpcGU6IG9kZDtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6ICRjb2xvdXIwO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTsgLy8gUHJlc2V0LTEgaXMgcHJldHR5IG11Y2ggd2hhdCB3ZSdyZSB1c2luZyBldmVyeXdoZXJlIHNvIGNoYW5naW5nIHRvIGJlIGNvbnNpc3RlbnQuXHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6IG5vbmU7XHJcbiR0YWItY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBkZWZhdWx0KTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogbm9uZTtcclxuJHRhYi1hY3RpdmUtY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBhY3RpdmUpO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygkdGFicy10aXRsZS1mb250LXNpemUpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG91cjA7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAwO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogbm9uZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGNvbG91cjA7IC8vIFNldCB0byB0cmFuc3BhcmVudCBhbmQgb3ZlcnJpZGUgd2l0aCBFeHByZXNzJ3MgU0FTUy5cclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDEwcHg7IC8vIFNldHRpbmcgZGVmYXVsdCB2YWx1ZSBidXQgdGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBFeHByZXNzJ3MgU0FTUyAkdGFicy1jb250ZW50LXBhZGRpbmcuXHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMDtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKSxcclxuICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpXHJcbik7XHJcblxyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6IChcclxuICBzbWFsbDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKSxcclxuICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpXHJcbik7XHJcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAyMHB4O1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBTaXRlIFN0eWxlcyAtLS0tLSBcclxuQWxsb3dpbmcgQ1NTIHZhcmlhYmxlcyB0byBvdmVycmlkZSBTQVNTIGNvbmZpZ3VyYXRpb24sIHVzZWQgaW4gaW5zdGFuY2VzIHdoZXJlIHlvdSBuZWVkIGRlcGFydG1lbnQgc3BlY2lmYyBjb2xvdXJpbmcuXHJcblxyXG4qL1xyXG5cclxuLy8gVE9ETzogcmVtb3ZlIGRlcGFydG1lbnQgcmVmZXJlbmNlcyBmcm9tIGRvY3VtZW50YXRpb24gYnVpbGQuXHJcbkBpZiAobGVuZ3RoKCRzaXRlLXN0eWxlcy1jb2xvdXJzKSA+IDApIHtcclxuICAgIC5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlLCAuc2l0ZS1zdHlsZSB7XHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHN0eWxlIHNldHMuXHJcbiAgICAgICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaXRlLXN0eWxlcy1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBzdHlsZSBzZXRcclxuICAgICAgICAgICAgJHN0eWxlLXNldDogbnRoKCRzaXRlLXN0eWxlcy1jb2xvdXJzLCAkaW5kZXgpO1xyXG4gICAgICAgICAgICBAaWYgKCRzdHlsZS1zZXQpIHtcclxuICAgICAgICAgICAgICAgIC8vIEdldCBwcmltYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRzdHlsZS1zZXQsIHByaW1hcnktY29sb3VyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgMDogbWFwLWdldCgkc3R5bGUtc2V0LCBwcmltYXJ5LWNvbG91cilcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB2YXJpYW50cy5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiBtYXAtbWVyZ2UoJHNldC1wcmltYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2V0LXByaW1hcnktY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgc2Vjb25kYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogbnVsbDtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHN0eWxlLXNldCwgc2Vjb25kYXJ5LWNvbG91cikpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBHZXQgc2Vjb25kYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgMDogbWFwLWdldCgkc3R5bGUtc2V0LCBzZWNvbmRhcnktY29sb3VyKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHZhcmlhbnRzLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZXQtc2Vjb25kYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2V0LXNlY29uZGFyeS1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHN0eWxlIHNldCBjbGFzcyAmIGFzc2lnbiBjb2xvdXIgb3ZlcnJpZGUgdmFyaWFibGUuXHJcbiAgICAgICAgICAgICAgICAmLmRlcGFydG1lbnQtI3skaW5kZXh9LCAmLnN0eWxlLSN7JGluZGV4fSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJpbWFyeSBDb2xvdXJcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzZXQtcHJpbWFyeS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwicHJpbWFyeS1jb2xvdXJcIiwgJHNldC1wcmltYXJ5LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlb25kYXJ5IENvbG91clxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNldC1zZWNvbmRhcnktY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInNlY29uZGFyeS1jb2xvdXJcIiwgJHNldC1zZWNvbmRhcnktY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgQHdhcm4gXCJTaXRlIFN0eWxlczogTm8gc2V0IGZvdW5kIGZvciAjeyRzdHlsZS1zZXR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIC0tLS0tLS0gQ29udGFpbnMgYWxsIHN0eWxlcyByZWdhcmRpbmcgZm9ybSBsYXlvdXRzLCBpZiB5b3UncmUgbG9va2luZyBmb3IgaW5wdXQgb3Igc2VsZWN0IHN0eWxlcyBwbGVhc2UgcmVmZXIgdG8gaW5wdXRzLnNjc3MgLS0tLS0tLVxyXG5cclxuXHJcbi8vIFRPRE86IEN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiByZWZhY3RvcmluZyBjb2RlIHRvIHRoaXMgZmlsZS5cclxuXHJcblxyXG4ucmVxdWlyZWQtcHJvbXB0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmcpO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LW1hcmdpbik7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlcXVpcmVkLXByb21wdC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRyZXF1aXJlZC1wcm9tcHQtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkcmVxdWlyZWQtcHRvbXB0LWZvbnQtc3R5bGU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nKTtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luKTtcclxuICAgIH1cclxuICAgICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxufVxyXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIFRyeSB0byBwcmV2ZW50IHRleHQgZnJvbSBzcGFubmluZyB0b28gd2lkZS5cclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgICAgIC8vIEp1c3QgdG8ga2VlcCB0aGUgdG9wIGFuZCBib3R0b20gaW5saW5lIHdpdGggdGhlIHBhZGRpbmcgY2F1c2VkIGJ5IHRoZSBhbGVydCBpY29uLlxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRzYS1tYXJnaW4sIDEpO1xyXG4gICAgfVxyXG4gICAgJi5jb250ZW50LWJvcmRlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tLSBcclxuZm9ybSB7XHJcbiAgICAmLnVzZXItZGF0YS1mb3JtIHtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgcGFkZGluZy1ib3R0b20gZm9yIFNTTyBmb3JtIGRlc2lnbiBcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICAvLyBHb3QgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBqdXN0IGEgcGFnZSBiYWNrZ3JvdW5kIGltYWdlIGlzIHNldC5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNpbmdsZS1jb2x1bW4ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBub3JtYWxseSB0aGUgc3VibWl0IGJ1dHRvbi5cclxuICAgICAgICAgICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBhbGxvdyBpbnB1dCB0byB0YWtlIHVwIGF2YWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIC8vIC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgaW5wdXQge1xyXG4gICAgICAgIC8vICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtZWRpdW0tdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDQ2NXB4O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzLCBkaXYgPiBsZWdlbmQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCAkY29sb3VyNCwgJGhlYWRpbmctcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIsIGxlZ2VuZCB7XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmaWVsZHNldC1oZWFkaW5nLWNvbG91ciwgJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMi1wYWRkaW5nLCAzLCBwcmVzZXQtNCkgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFJlLWFkanVzdGluZyB0aGUgcGFkZGluZyB0byBhY2NvdW50IGZvciBhIHJ1bGUuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLnN1Yi1ncm91cC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Yi1ncm91cC1uYW1lIHtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkc3ViLWhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIyLCAkY29sb3VyMyk7IFxyXG5cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICBjb2xvcjogJHN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgJiArIC5yZXF1aXJlZC1wcm9tcHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXJyb3ItYmxvY2sge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBzbyB0aGlzIGxvb2sgY29uc2lzdGVudCB3aXRoIGZvcm1zIGluIGEgbGFyZ2UtNiBjZWxsLlxyXG4gICAgICAgICAgICAvLyAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCA2OHB4IDAgMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAoJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0ICsgKGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCkgKyBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IG1hcC1nZXQoJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW4sIHNtYWxsKTtcclxuICAgIC8vIEFkZGluZyBiYWNrZ3JvdW5kLWNvbG9yIGR1ZSB0byBpZiBhIHBhZ2UgYmFja2dyb3VuZCBpcyBhY3RpdmUuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWVsZHNldC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICYgKyBoMiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmZpZWxkIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDcuNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgODVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhcHRjaGEgLS0tLSBcclxuLmNhcHRjaGEtY29udGFpbmVyIHtcclxuICAgIC8vIEFkZGluZyBwb3NpdGlvbiBhYnNvbHV0ZSBhcyByZWNhcHRjaGEncyBpbmxpbmUgc3R5bGVzIGFyZSBjYXVzaW5nIG1vZGFscyB0byBiZSBwdXNoZWQgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgJi5jaGVja2JveCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICB9XHJcbiAgICAuZ3JlY2FwdGNoYS1iYWRnZSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBHb29nbGUncyBzdHlsZXMgZHVlIHRvIG92ZXJsYXBwaW5nIHRoZSBzdGlja3kgYnV0dG9ucyBpbiBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbmZpcm1hdGlvbiAtLS0tLSBcclxuXHJcbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciB7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAoJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZyAvIDMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoKCksIChwcmVzZXQtMTogMCBhdXRvIDUwcHgpKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53YXJuaW5nLCAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNDVweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDAgMjIuNXB4IDEwcHgsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5jb25maXJtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmLm1hcmdpbi1ib3R0b20ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtc3VjY2VzcztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXdhcm5pbmc7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtYWxlcnQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBIZWFkZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBVcHBlciArIGxvd2VyIG5hdmlnYXRpb24gYmFycy5cclxuLSBTaXRlIGxvZ29cclxuLSBIZWFkZXIgc3RpY2t5IGZ1bmN0aW9uYWxpdHk6XHJcbiAgLSBGdWxsXHJcbiAgLSBNaW5pZmllZFxyXG4gIC0gTm8gVG9wIEJhclxyXG4gIC0gTWVudVxyXG4tIFZBVCBTd2l0Y2hlclxyXG4tIEJyZWFkY3J1bWJzXHJcbi0gQmFza2V0IFN1bW1hcnkgXHJcbi0gQ2FsbG91dHMgaW4gdGhlIGhlYWRlciB0byBtb2RpZnkgY2FsbG91dCBzZWUgYXhpcy1ub3RpZmljYXRpb24uc2Nzc1xyXG4tIFByZWRpY3RpdmUgc2VhcmNoIHBvc2l0aW9uaW5nIHRvIG1vZGlmeSBzZWFyY2ggc3R5bGUgdGhlbiBnbyB0byBheGlzLWF1dG9jb21wbGV0ZS5zY3NzXHJcbi0gVVNQIGJhciB3aGljaCBpcyBlc3NlbnRpYWxseSBhIG1vZHVsZS5cclxuLSBXZWxjb21lIFRleHRcclxuLSBUYWcgbGluZXNcclxuLSBUT0RPOiBJIGFtIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiB0cnlpbmcgdG8gdW50YW5nbGUgdGhlIG1lZ2EgbWVudSBjc3MgKyBtYWtlIGl0IG1vcmUgZ2VuZXJpYyBhbmQgcmVob21lIGl0IGluc2lkZSBvZiBheGlzLW1lbnVzLnNjc3NcclxuKi9cclxuXHJcblxyXG4vLy0tLS0tIFN0aWNreSBIZWFkZXIgLS0tLS0gXHJcbmhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGhlYWRlci1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGhlYWRlci1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgW2RhdGEtYXhpcy1zdGlja3ldIHtcclxuICAgICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgICAgICYuaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIE1vYmlsZSAvIFRhYmxldCBkb2Vzbid0IGhhdmUgYW55IGNvbmZpZyBhbGwgaXQgc2hvd3MgaXMgdGhlIGxvZ28gKyB0b2dnbGUgYmFyLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjAwMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMS41cyBlYXNlLW91dDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU2hvdyBmdWxsIGhlYWRlciB3aGVuIHN0aWNreS5cclxuICAgICAgICAgICAgLy8gJltkYXRhLXN0aWNreS10eXBlPVwiRnVsbFwiXSB7XHJcbiAgICAgICAgICAgICAgICAvL05vIFNwZWMgZm9yIHRoaXMgeWV0LlxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vUmVtb3ZlIHRvcC1iYXIgd2hlbiBzdGlja3kuXHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk5vVG9wQmFyXCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzIHRvcC1iYXIsIHJlZHVjZSBoZWFkZXItY29udGVudCBoZWlnaHQgYnV0IHJldGFpbiBtZWdhIG1lbnUuXHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1sZWZ0IHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbiwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbiwgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbkludHJvLCBtYXJnaW4tYm90dG9tICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaGVhZGVyLWxvZ28td2lkdGgsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAjYWN0aW9uLWJhci1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkaGVhZGVyLW1pbmlmaWVkLWhlaWdodCAtIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZywgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idWJibGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAoJGhlYWRlci1zZWFyY2gtaGVpZ2h0IC0gNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hamF4LXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tbWVudGluZyBvdXQgYXMgdGhpcyBjYXVzZSB0aGUgcmVzdWx0cyB0byBvdmVyZmxvdyB0aGUgdmlld3BvcnQgZm9yIGtpbmdzZmllbGQuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBTbyBiYXNrZXQgZ2V0cyB2ZXJ0aWNhbGx5IGFsaWduZWQuXHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm9ybWFsbHkgYnV0dG9uIGNvbnRhaW5lcnMgc2l0IGhlcmUgaW4gYSBkaXYgc28gc2VsZWN0aW5nIGFsbCBkaXJlY3QgZGl2cy5cclxuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3skaG9tZS1idXR0b24taWNvbi1zaXplIC8gMS4yfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogI3soc3BhY2luZy12YWx1ZSgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCAxKSAvIDIuMil9ICN7KHNwYWNpbmctdmFsdWUoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgMikgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJHRyYW5zaXRpb25JbnRybywgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSN7aWYoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgXCI6bm90KC5ob21lLWJ1dHRvbilcIiwgXCJcIil9ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAjeyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICN7KGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciwgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaGVhZGVyLWxvZ28td2lkdGgsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgQ29udGFpbmVyIC0tLS0tIFxyXG4vLyBDb250YWluZXIgYWZ0ZXIgc3RpY2t5IGNvbnRhaW5lci5cclxuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmICRoZWFkZXItY29udGVudC1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1jb250ZW50LWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLXdlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAvLyBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlLXBvc2l0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIENvbnRlbnQgUmVzcG9uc2l2ZSBUb2dnbGUgQmFyICggYmFzaWNhbGx5IG1vYmlsZSB2aWV3ICkgLS0tLS1cclxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XHJcbiAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcgdG8gbWFrZSBzdXJlIGJ1dHRvbnMgYXJlIGxlZ2liYWwuLlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICR0b2dnbGUtZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAkdG9nZ2xlLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZTtcclxuICAgICAgICAvLyBTZXQgaGVpZ2h0IHRvIDEwMCUgaWYgdmFsdWUgPT0gZml0LWNvbnRlbnQgdG8gcHJldmVudCBkaWZmZXJlbnQgaGVpZ2h0cyBhbmQgaWNvbnMgYXBwZWFycyBzdGFnZ2VyZWQuXHJcbiAgICAgICAgaGVpZ2h0OiBpZigkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplID09IGZpdC1jb250ZW50LCAxMDAlLCAkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvZ2dsZS1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b2dnbGUtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFbaHJlZl49XCJ0ZWw6XCJdIHtcclxuICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIHRlbGVwaG9uZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgbWFpbCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtc2VhcmNoIHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIHNlYXJjaCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5oZWFkZXItdG9nZ2xlLWJhc2tldCB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBiYXNrZXQpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGhhbWJ1cmdlcik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1oYW1idXJnZXItaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLW1vYmlsZS1tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHotaW5kZXg6ICRoZWFkZXItbW9iaWxlLW1lbnUtei1pbmRleDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vIE1vYmlsZSAvIFRhYmxlIHNwZWNpZmMgc3R5bGVzLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgei1pbmRleDogYXV0bztcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICYuYW5pbWF0ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHg7XHJcbiAgICAgICAgLy8gU28gaWYgbWVudSdzIGdldCBjb21iaW5lZCB0aGV5J3JlIHRoZW4gY29uc2lzdGVudCB3aXRoIHRoZSBtZWdhIG1lbnUuXHJcbiAgICAgICAgdWwubWVudSA+IGxpID4gYXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFRvcCBCYXIgLS0tLS1cclxuLy8gVHlwaWNhbGx5IGNvbnRhY3QgaW5mbyBnZXRzIGRpc3BsYXllZCBoZXJlICsgY21zIHBhZ2UgbGlua3MgYnV0IHRoaXMgZ2V0cyBzdXBwcmVzc2VkIGZvciBtb2JpbGUuXHJcbi5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgY29udGVudCBjb250YWluZXIgLS0tLS1cclxuLy8gVGhpcyBpcyB0aGUgYXJlYSBub3JtYWxseSBiZXR3ZWVuIHRoZSB0b3AtYmFyICYgbWVnYS1tZW51XHJcbi5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1taW4taGVpZ2h0O1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBObyBsb25nZXIgdXNpbmcgZmxleGJveCBkdWUgdG8gamVsYXdyZW5jZSdzIGRlc2lnbi5cclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xyXG4gICAgICAgIC8vIFRoZSBjb2x1bW4gbGF5b3V0IGZvciB0aGUgaGVhZGVyLlxyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGhlYWRpbmctZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB4eGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gQ29tbW9uIGhlYWRlciBzdHlsZXMgYmV0d2VlbiBhcmVhcyAtLS0gXHJcbi5oZWFkZXItY29udGVudC1sZWZ0LCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyLCAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgLy8gSW4gbW9iaWxlIHN1cHJlc3MgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzLlxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIC8vIEV4Y2x1c2lvbiBsaXN0LlxyXG4gICAgICAgIEBpbmNsdWRlIG5vdCgkaGVhZGVyLWNvbXBvbmVudC1kaXNwbGF5LWxpc3QpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgbGVmdCAtLS0gXHJcbi5oZWFkZXItY29udGVudC1sZWZ0IHtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1ucyk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTcGFuIDIgcm93cy5cclxuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1yb3ctc3BhbjogMjtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1sZWZ0JykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWxlZnQnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1ucywgeHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51ICB7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbWFyZ2luO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBHZXQgaXRlbSBwYWRkaW5nLlxyXG4gICAgICAgICAgICAkaXRlbS1wYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciB1bCwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICAgICAgICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEdldCBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICAgICAgICAgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgLy8gR2V0IGhvdmVyIGNvbG91ci5cclxuICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IGRlZmF1bHQgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkaG92ZXItY29sb3VyKSwgMCwgJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS11bmRlcmxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgY2VudGVyIC0tLSBcclxuLmhlYWRlci1jb250ZW50LWNlbnRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LWNlbnRlci1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtY2VudGVyJykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWNlbnRlcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgLy8gUHV0IHRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciB3ZWFyZXN5bmMgdG8gb2Zmc2V0IHRoZSBoZWFkZXIgY29udGVudCBtZW51IHRvIG1hdGNoIHRoZWlyIG9yaWdpbmFsIHNpdGUuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIEZpeC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBoZWFkZXIgYmFja2dyb3VuZCBkb2Vzbid0IG1hdGNoIGNvbG91ci5cclxuICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IHJpZ2h0IC0tLSBcclxuLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBsZWZ0OiBpbmhlcml0O1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHNlYXJjaCB0byBvdmVybGFwIHdpdGggcmVjZW50bHkgYWRkZWQuXHJcbiAgICAvLyB6LWluZGV4OiAxMDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudCB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1yaWdodC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtcm93OiAyO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LXJpZ2h0JykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LXJpZ2h0Jyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU28gaGlnaCBkdWUgdG8gdW5kZXJsYXBwaW5nIGhlYWRlciBtZW51IGRyb3Bkb3duJ3MuXHJcbiAgICAgICAgLy8gei1pbmRleDogMjAwMDAwO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMsIHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucywgeHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtc3VwcHJlc3MtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIHNpdGUgbG9nbyAtLS0tLSBcclxuLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogJGxvZ28tY29udGFpbmVyLWp1c3RpZnk7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbG9nby1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGxvZ28tY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MHZ3O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhIHRoZSBtYWpvcml0eSBvZiBsb2dvJ3MgYXJlIG5vdCBzcXVhcmUgYW5kIGEgbW9yZSBzaW1wbGUgc29sdXRpb24gd291bGQgYmUganVzdCBqdXN0IHNjYWxlIGJ5IHdpZHRoLlxyXG4gICAgICAgIC8vaGVpZ2h0OiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDI1cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9nb0Z1bGwsIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgQGlmICRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvTWluaWZpZWQsIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICBAaWYgbm90ICRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgVGFnIExpbmUgLS0tLS0gXHJcbi5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwIHtcclxuICAgICAgICAvLyBDaGVjayBjb2xvdXIgY29udHJhc3QuXHJcbiAgICAgICAgJGNvbG91cjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXRhZ2xpbmUtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDtcclxuICAgICAgICAvLyBSZWFzb24gZm9yIHByZXZlbnQgd3JhcHBpbmcgaXMgYmVjYXVzZSBpdCB3aWxsIGNhdXNlIHRoZSBzZWFyY2ggKyBiYXNrZXQgc3VtbWFyeSB0byBiZSBvdXQgb2YgYWxpZ24uXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAmOmlzKDplbXB0eSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci10YWdsaW5lLWhlaWdodDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiBpZigkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0ID09IFwiYXV0b1wiLCAwLCAxKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkZXItdGFnbGluZS1sb3dlci1zdXBwcmVzcykge1xyXG4gICAgICAgICYubG93ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci10YWdsaW5lIHtcclxuICAgIC8vIENoZWNrIGNvbG91ciBjb250cmFzdC5cclxuICAgICRjb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci10YWdsaW5lLWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nO1xyXG4gICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICBmb250LXdlaWdodDogJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDtcclxuICAgIC8vIFJlYXNvbiBmb3IgcHJldmVudCB3cmFwcGluZyBpcyBiZWNhdXNlIGl0IHdpbGwgY2F1c2UgdGhlIHNlYXJjaCArIGJhc2tldCBzdW1tYXJ5IHRvIGJlIG91dCBvZiBhbGlnbi5cclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWJhc2lzOiA1MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBTZWFyY2ggLS0tLS1cclxuLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KSkge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkaW5nLXNlYXJjaC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdykpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTZWFyY2ggYmFja2dyb3VuZFxyXG4gICAgJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJvcmRlclxyXG4gICAgJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBcclxuICAgIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYnV0dG9uIGJhY2tncm91bmRcclxuICAgICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBidXR0b24gY29sb3VyXHJcbiAgICAkYnV0dG9uLWRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGJ1dHRvbi1ob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGJ1dHRvbi1hY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBAaWYgKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1kZWZhdWx0LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pY29uLXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoZWFkZXItc2VhcmNoLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgLy8gSGF2aW5nIHRvIHNldCBvcmRlciBkdWUgdG8gc2l0ZSBzZWFyY2ggcmVzdWx0cyBpcyBwbGFjZWQgYmVmb3JlIHRoZSBpbnB1dCArIGJ1dHRvbiB3aGljaCBkb2Vzbid0IHdvcmsgaW4gbW9iaWxlIGFzIGl0IG5lZWRzIHRvIGFwcGVhciBhZnRlciB0aGVtLlxyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgdG8gc3VwcG9ydCBzaXRlIHNlYXJjaCAzNjAgbWFya3VwIHRoYXQgaXMgdXNlZCBvbiBBeGlzIENvcnBvcmF0ZS5cclxuICAgICN1bmlib3gtc3VnZ2VzdC1ib3gge1xyXG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIElGIHdlJ3JlIG92ZXJyaWRpbmcgdGhlIGhlYWRlcidzIHNlYXJjaCBidXR0b24gd2lkdGggdGhlbiB1c2UgdGhhdCBlbHNlIHVzZSB0aGUgc2l0ZSdzIGRlZmF1bHQgd2lkdGguXHJcbiAgICAgICAgJGJ1dHRvbi13aWR0aDogaWYoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoLCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCwkc2VhcmNoLWJ1dHRvbi13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGJ1dHRvbi13aWR0aH0pO1xyXG4gICAgICAgIC8vIFNldHRpbmcgb3JkZXIgc28gcmVzdWx0cyBhcHBlYXIgdW5kZXIgdGhlIHNlYXJjaCBpbiBtb2JpbGUuXHJcbiAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAvLyBGb3JjZSByZWxhdGl2ZSBwb3NpdGlvbmluZyBzbyB0aGUgcmVzdWx0IGFwcGVhciBpbiB0aGUgc2VhcmNoIHBvcHVwIC8gbWVudSBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBzcGFjaW5nLXZhbHVlKCRmaWVsZHNldC1pbnB1dC1wYWRkaW5nLCA0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51bmlib3gtc2VsZWN0YWJsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4sIC51bmlib3gtaGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuLCAudW5pYm94LWhpZ2hsaWdodCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRhYy1yZXN1bHRzLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFjLXJlc3VsdHMtb2Zmc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgJGlucHV0LWhvdmVyLWJveC1zaGFkb3c6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgQGlmICgkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGlucHV0LWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtaG92ZXItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBQcmVkaWN0aXZlIFNlYXJjaCAoIGZvciBoZWFkZXIgKSAtLS0gXHJcbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2h7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAoJGFjLXJlc3VsdC1waW4tdG8tdG9wKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgLy8gICAgIHotaW5kZXg6IDEwMDAxO1xyXG4gICAgLy8gfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHRvcCkpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHRvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCByaWdodCkge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCByaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCBsZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgbGVmdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYS5hY19yZXN1bHRzX2VudHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkyZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vLXJlc3VsdHMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkaW5nMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmc0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjX3Jlc3VsdHNfZW50cnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBjYWxsIHRvIGFjdGlvbiAtLS0tLSBcclxuLy8gVXNlZCBmb3IgbG9naW4gYnV0dG9uIG9yIGVucXVpcnkgYnV0dG9uLlxyXG4uaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXItaGVpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGVza3RvcC1zdW1tYXJ5LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgLy8gS2VlcCBpbiBzeW5jIHdpdGggdGhlIGhlYWRlciBzZWFyY2ggaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgYmFza2V0IHN1bW1hcnkgLS0tLS1cclxuI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWhlaWdodDtcclxufVxyXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBNYWtlIHN1cmUgYmFja2dyb3VuZCBjb2xvdXIncyBjb250cmFzdCBhZ2FpbnN0IHRoZSB0ZXh0IGNvbG91cidzIGluIHRoZWlyIHZhcmlvdXMgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKS5cclxuICAgIC8vIHdhcm5pbmcgY29udHJhc3QgY2hlY2tlci5cclxuICAgICR3YXJuaW5nLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAkd2FybmluZy1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAvLyBhbGVydCBjb250cmFzdCBjaGVja2VyLlxyXG4gICAgJGFsZXJ0LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG4gICAgJGFsZXJ0LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcblxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgd2FybmluZykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1hY3RpdmUtY29sb3VyO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWxlcnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFJlY2VudGx5IGFkZGVkLlxyXG4gICAgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlcih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDVweDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2RhdGEtYmFza2V0LXN1bW1hcnktbm90aWZpY2F0aW9uc10ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0b29sdGlwLWNvbnRlbnQtcG9zaXRpb25pbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBCYXNrZXQgc3VtbWFyeSB0aGF0IGdldHMgc2hvd24gcHJpbWFyaWx5IGZvciB0aGUgZGVza3RvcCAoIG5vIGRyb3AgZG93biBvciBwb3B1cCApXHJcbiAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgd2lkdGg6ICRkZXNrdG9wLXN1bW1hcnktd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaGVpZ2h0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXByZXZpZXctZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGRlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gSWYgdGhlIHRoZXNlIGNvbG91cnMgbWF0Y2ggaXQgaXMgcG9pbnRsZXNzIGV4cGFuZGluZyB0aGUgYmFza2V0IGljb25zIGJhY2tncm91bmQgdG8gb3ZlcmxhcCB0aGUgcmVzdCBvZiB0aGUgc3VtbWFyeS5cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpID09IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJhc2tldC1wcmV2aW91cy1pY29uLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBJZiBib3JkZXIgdGhlbiByZWR1Y2UgaGVpZ2h0IHRvIGFsbG93IGZvciBib3JkZXIuXHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFlvdSdyZSBhc3N1bWluZyB0aGUgYm9yZGVyIGlzIDFweCBzbyB0aGlzIG1pZ2h0IGNhdXNlIGlzc3VlcyBkb3duIHRoZSBsaW5lLi4uXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQgLSAyKTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGJhc2tldC1wcmV2aWV3LWljb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJhc2tldC1wcmV2aWV3LWljb24tYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJhc2tldC1wcmV2aWV3LWljb24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBXZSdyZSBcIiBhc3N1bWluZyBcIiB0aGF0IGlmIHRoZSB2YWx1ZSBpcyAyNXB4IHRoZW4gd2Ugd2FudCB0aGUgaWNvbiB0byBiZSBvdXRsaW5lZCBieSBhIGNpcmNsZS5cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyA9PSAyNXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGFsbCBqdXN0IGJlY2F1c2Ugb2YgYWxsIHRoZSBkaWZmZXJlbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGFwcGVhcnMgaW5zaWRlIG9mIHRoZSBiYXNrZXQgZGVza3RvcCBzdW1tYXJ5LlxyXG4gICAgLmJhc2tldC1kZXRhaWxzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIEBpZiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW4ge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlIHtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMS41cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgJi5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iYXNrZXQtZGV0YWlscy1wcmljZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFN1bW1hcnkgdGhhdCBnZXRzIGRpc3BsYXllZCBmb3IgbW9iaWxlIGVzc2VudGlhbGx5IGFzIGEgcG9wdXAgbWVudS5cclxuICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1vcmRlci10b3RhbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWN0aW9uLWJ1dHRvbiB7IFxyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC50ZXh0Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1JTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcblxyXG4gICAgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAzNzBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC5zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgOCwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRRdWFudGl0eSwgICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLnN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZyB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsIDgsIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCA2MHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDYwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMzBweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjcmVjZW50bHlBZGRlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51cGRhdGUuYWN0aXZlIHtcclxuICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nLlxyXG4gICAgICAgICAgICBhIHsgXHJcbiAgICBcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idWJibGUtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1NXB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogKCRiYXNrZXQtcHJldmlldy1oZWlnaHQgKyA1MCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgIC8vIHotaW5kZXg6IDUwMDtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgd2VsY29tZSB0ZXh0IC0tLS0tXHJcbi5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItd2VsY29tZS10ZXh0LWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6ICRoZWFkZXItd2VsY29tZS10ZXh0LWhlaWdodDtcclxuICAgICAgICBAaWYgKCRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHh4bGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHh4bGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC10ZXh0LWFsaWduO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci13ZWxjb21lLXRleHQtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICAmICsgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBNZW51cyAtLS0tLVxyXG4uaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYWxsLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wIHNwZWNpZmljLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBwYWRkaW5nIGJvdHRvbSBhcyB0aGlzIHdpbGwgdGhyb3duIHRoZSBtZWdhIG1lbnUgb3V0IG9mIGFsaWdubW5ldCB3aXRoIHRoZSBib3R0b20gb2YgdGhlIG5hdiBiYXIuXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaWYgJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQ7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxhcmdlLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93IHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRtZWdhLW1lbnUtYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbWVnYS1tZW51LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWVnYS1tZW51LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9sbG93IG1lZ2EgbWVudSBzbWFsbCBzdHlsZXMuXHJcbiAgICAvLyBMZXZlbCAxXHJcbiAgICAuY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTGV2ZWwgMyArIFxyXG4gICAgICAgICAgICAgICAgICAgIHVsID4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtY29sb3VyO1xyXG59XHJcblxyXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyBMZXZlbCAyIENvbG91cnNcclxuICAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgIC8vIERlZmF1bHQuXHJcbiAgICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgLy8gSG92ZXIuXHJcbiAgICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgLy8gQWN0aXZlLlxyXG4gICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gTGV2ZWwgMyBDaGlsZHJlbiBDb2xvdXJzLlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG5cclxuXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS13aWR0aCk7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgdWwuYWNjb3JkaW9uLW1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRHVlIHRvIHN1Ym1lbnUgcGFyZW50cyBoYXZlIGFuIGljb24gdG8gdGhlIGxlZnQgd2UgbmVlZCB0byBhZGQgc29tZSBtYXJnaW4gdG8gdGhlIG5vIHBhcmVudHMgb3RoZXJ3aXNlIHRoZSBncm91cCBkZXNjcmlwdGlvbnMgd2lsbCBub3QgbGluZSB1cC5cclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAje3NwYWNpbmctdmFsdWUoJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZywgNCkgKyAyMH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEsICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHBhcmVudCBpbmRpY2F0b3IgdGhhdCBpcyBzaG93biBvbiBub3JtYWwgZHJvcGRvd25zLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGxldmVsIDNcclxuICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItYWN0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG5cclxuICAgIH1cclxuICAgIHVsLm1lbnUubWVnYS1tZW51LCB1bC5tZW51LmRyb3Bkb3duIHtcclxuICAgICAgICAvLyBHcmFuZCBwYXJlbnQgZ3JvdXAgc2VwZXJhdG9ycy5cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3MtZmlyc3QtY2hpbGQtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRob21lLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAje2lmKCRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9ycywgXCImOm5vdCg6Zmlyc3QtY2hpbGQpIFwiLCBcIlwiKX0gPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sZWZ0OiAtI3sobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKSAqIDEuNSl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogaWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsLSRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwICwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbm90ICRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmlnaHQ6IC0jeyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpICogMS41KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGlmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLC0kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0ICE9ICRkZWZhdWx0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZvciBkcm9wZG93biBhbGlnbm1lbnQuXHJcbiAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIG1lbnVzIGNvbnRhaW5lciAtLS0gXHJcbi5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBAaWYgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICYgKyAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbn1cclxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFRvZ2dsZSBCYXIgLS0tIFxyXG4vLyBFc3NlbnRpYWxseSBhIGNvbGxlY3Rpb24gb2YgdG9nZ2xlIGJ1dHRvbnMgdGhhdCB0cmlnZ2VyIHZhcmlvdXMgZnVuY3Rpb25hbGl0eSBpLmUgc2VhcmNoIGJhciAmIGJhc2tldCBzdW1tYXJ5LlxyXG4uaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBnYXA6ICRoZWFkZXItdG9nZ2xlLWJhci1nYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJi50b2dnbGUtYmFyLWluYWN0aXZlLW1vYmlsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbmVyIGZvciBib3RoIGJ1dHRvbiAmIGNvbnRlbnQgY29udGFpbmVycy5cclxuICAgIC5oZWFkZXItdG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAmLmFsaWduLWl0ZW1zLXBhcmVudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVG9nZ2xlIGJ1dHRvbiBjb250YWluZXJzXHJcbiAgICAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodCAhPSAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgICAgICYuc2VhcmNoIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGVmYXVsdC1zaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY291bnQgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAvLyBHZXQgY3VzdG9tIGJ1dHRvbiBwYWRkaW5nLlxyXG4gICAgICAgICAgICAkYnV0dG9uLXBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsZXMuXHJcbiAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1wYWRkaW5nIT0gJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nICkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nOyAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplICsgNn07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNC41cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRlbnQgY29udGFpbmVycy5cclxuICAgIC50b2dnbGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICYuc2VhcmNoIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogIG1hcC1nZXQoJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvdW50LW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYWNjb3VudC1tZW51LWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjY291bnQtbWVudS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJhciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzLCBhY3Rpb24tYmFyKTtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEFjY291bnQgTWVudSAtLS0tLVxyXG4vLyAtLS0gQnV0dG9uIC0tLVxyXG4uaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcclxuXHJcbiAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcblxyXG4gICAgJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG5cclxuICAgICRkZWZhdWx0LWNvbG91cjogaWYoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIsIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgJGhvdmVyLWNvbG91cjogaWYoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyLCBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICRhY3RpdmUtY29sb3VyOiBpZigkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyICxjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLW1pbi1oZWlnaHQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb247XHJcbiAgICB9XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ndXR0ZXI7XHJcbiAgICAvLyBEZWZhdWx0IHBhZGRpbmcuXHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgQGlmICgkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYubG9nZ2VkLWluIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICBAaWYgKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmICgkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgQGlmICgkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgQGlmICgkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uKTtcclxuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKCRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBNZW51IC0tLSBcclxuLmFjY291bnQtbWVudSB7XHJcbiAgICBhIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFVTUCBCYXIgLS0tLS1cclxuLy8gVE9ETzogV2hlbiB0aGlzIG9mZmljYWxseSBiZWNvbWVzIGEgbW9kdWxlIHRoaXMgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB0aGUgaGVhZGVyLnNjc3MgaW50byBtb2R1bGVzLnNjc3NcclxuLnVzcC1iYXIsIC5oZWFkZXItdXNwLWJhciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdXNwLWJhci1wYWRkaW5nKTtcclxuICAgIEBpZiAkdXNwLWJhY2tncm91bmQtZnVsbC13aWR0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR1c3AtYmFyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcbi51c3AtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC51c3AtYmFubmVyLCAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICR1c3AtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC8vIElmIHRleHQgYWxpZ24gbm90ID09IGNlbnRlciB0aGVuIGFkanVzdCBmbGV4Ym94IGFsaWdubWVudC5cclxuICAgICAgICBAaWYgKCR1c3AtYWxpZ25tZW50ID09IFwibGVmdFwiKSB7XHJcbiAgICAgICAgICAgICR1c3AtZmxleC1hbGlnbjogZmxleC1zdGFydDtcclxuICAgICAgICB9IEBlbHNlIGlmICgkdXNwLWFsaWdubWVudCA9PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBmbGV4LWVuZFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsIHB7IFxyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR1c3AtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgPiBwIHtcclxuICAgICAgICAgICAgQGlmICgkdXNwLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkdXNwLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHVzcC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgICBcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHVzcC1mbGV4LWFsaWduO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICR1c3AtYWxpZ25tZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNwLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICR1c3AtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICBAaWYgKCR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtaW1hZ2UtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdXNwLWltYWdlLWd1dHRlcjtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR1c3AtaW1hZ2UtZ3V0dGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR1c3AtZmxleC1hbGlnbjtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzcC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICR1c3AtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkdXNwLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaG92ZXItY29sb3VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRhY3RpdmUtY29sb3VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIHBhZGRpbmcgZHVlIHRvIGNvbnRlbnQgYmVpbmcgaW5zaWRlIG9mIGFuY2hvci5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHVzcC1hbmNob3ItaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdXNwLWFuY2hvci1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR1c3AtYW5jaG9yLWluZGljYXRvci1mb250LXNpemU7ICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkdXNwLWFuY2hvci1pbmRpY2F0b3ItY3VzdG9tLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCR1c3AtZ3V0dGVyKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICR1c3AtZ3V0dGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAvLyBUbyBtYWtlIHN1cmUgY29udGVudCBpcyBmbHVzaCBhZ2FpbnN0IGNvbnRhaW5lci5cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICR1c3Atc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgJiArIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuZmFzIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJyZWFkY3J1bWJzIC0tLS0tXHJcbi8vIE1ha2Ugc3VyZSB0aGVyZSBpcyBhIGdhcCBiZXR3ZWVuIHRoZSBoZWFkZXIgd2hlbiB0aGVyZSBpcyBubyBicmVhZGNydW1iIG9yIHZhdCBzd2l0Y2hlciBvdGhlcndpc2UgcGFnZSBjb250ZW50IHdpbGwgcHVzaCB1cCBhZ2FpbnN0IHRoZSBoZWFkZXIsIHRyZWF0IHRoZSBob21lcGFnZSBhcyBhIHNwZWNpYWwgY2FzZSBhcyBpbiBzb21lIGRlc2lnbnMgd2UgYnV0dCB0aGUgbW9kdWxlcyByaWdodCB1cCBhZ2FpbnN0cyB0aGUgaGVhZGVyLlxyXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAkYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgICY6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIG5lZWRzIHRvIGJlIGNvbmZpZ3VyZWQgb24gYSBzaXRlIGJhc2lzIGFzIGtpbmdzZmllbGQgaGFzIG5vIFVTUCdzICsgZGlzYWJsZWQgVkFUIHN3aXRjaCBhbmQgcmVxdWVzdGVkIHRoYXQgd2UgaGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGhlYWRlciBhbmQgZmlyc3QgbW9kdWxlIDg0OTQxMi5cclxuYm9keSN7aWYoJGhlYWRlci1uby1icmVha2NydW1icy10b2dnbGUtc3dpdGNoLXNoaW0tb24taG9tZXBhZ2UsXCJcIixcIjpub3QoI2hvbWUpXCIpfSAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdCg6aGFzKC5icmVhZGNydW1icykpOm5vdCg6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpKTpub3QoOmhhcygudmF0LXN3aXRjaGVyLWNvbnRhaW5lcikpIHtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdXNwLWJhciArIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICY6aGFzKC5icmVhZGNydW1icyksICY6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEpKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxLCBsYXJnZSkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmJyZWFkY3J1bWJzLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEpO1xyXG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206IHNtYWxsLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZyk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAzKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJlYWRjcnVtYnMge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBkaXNwbGF5IHN0eWxlIGZsZXggdG8gYXR0ZW1wdCB0byBjZW50ZXJpc2UgdGhlIHNlcGVyYXRvci9sZXZlbCBpY29ucy5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gU3dpdGNoZWQgZnJvbSBiYXNlbGluZSB0byBjZW50ZXIgZm9yIGtpbmdzd29vZCBwcm9qZWN0IDg0MjUzOSwgdGhpcyBtaWdodCBuZWVkIHRvIGJlIHJldmVydGVkLlxyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIuNXB4IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5icmVhZGNydW1icyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFjdGl2ZS1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1tYXJnaW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHBhZGRpbmctdG9wIGFzIHdlJ3JlIDFweCBvZmYgdmVydGljYWwgY2VudGVyLlxyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogKCRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbSAvIDIpO1xyXG4gICAgICAgICAgICBAaWYgJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gVkFUIFN3aXRjaGVyIC8gSGVhZGVyIHRvZ2dsZSBzd2l0Y2ggLS0tXHJcbi8vIFRoaXMgd2FzIHJlZmFjdG9yZWQgaW50byBcIiBoZWFkZXItdG9nZ2xlLXN3aXRjaCBcIiBmb3IgdGhlIGRvY3VtZW50YXRpb24gZGVzaWduIHRvIGFsbG93IGZvciBkaWZmZXJlbnQgY29sb3VyIGNvZGluZyB0byBiZSBkZWZpbmVkLlxyXG4udmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWdhcDtcclxuICAgIEBpZiAoJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAmLnZhdC1zd2l0Y2hlciB7XHJcbiAgICAgICAgJi5pbmNsdXNpdmUsICYub2ZmIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV4Y2x1c2l2ZSwgJi5vbiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5lZGl0LW1vZGUge1xyXG4gICAgICAgICYub2ZmIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9uIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIC8vIENvbW1vbi5cclxuICAgICYuaW5jbHVzaXZlLCAmLm9mZiB7XHJcbiAgICAgICAgQGlmICR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsIHtcclxuICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLSAyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gtZXhjIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV4Y2x1c2l2ZSwgJi5vbiB7XHJcbiAgICAgICAgLy8gU2hvdyBhY3RpdmUgZm9udC13ZWlnaHQgYW5kIGNvbG91ciBpZiBhY3RpdmUsIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGNsaWNrIGFjdGl2ZSBzdGF0ZS5cclxuICAgICAgICBAaWYgJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWwge1xyXG4gICAgICAgICAgICBwOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgKyA1KTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaCB7XHJcbiAgICAgICAgd2lkdGg6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMSk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMyk7XHJcbiAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMyk7XHJcbiAgICAgICAgLy8gU3VwcHJlc2V0dGluZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHZlcnRpY2FsIGFsaWdubWVudCBpc3N1ZXMgZm9yIG1hY09TIHVzZXJzLlxyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gNC4yKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDQuMik7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1leGMsIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWV4YyB7XHJcbiAgICAgICAgcmlnaHQ6IDdweDtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRm9vdGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRm9vdGVyIG1lbnUgKCBhbHNvIHJlZmVyIHRvIGF4aXMtbWVudXMuc2NzcyApXHJcbi0gUHJvbW90aW9uIGFyZWE6XHJcbiAgLSBTb2NpYWwgSWNvbnNcclxuICAtIE1haWxpbmcgTGlzdFxyXG4gIC0gQ21zIGVudHJpZXNcclxuLSBGb290ZXIgQmFubmVycyAoIFBheW1lbnQgbWV0aG9kIGxvZ29zIClcclxuLSBDb3B5cmlnaHRcclxuLSBHb29nbGUgVGFnIE1hbmFnZXIgZm9vdGVyIHdpZGdldCBhcmVhXHJcbi0gRm9vdGVyIE1vZHVsZXMgKCBhbHNvIHJlZmVyIHRvIG1vZHVsZXMuc2NzcyApXHJcbiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmZvb3RlciB7XHJcbiAgICAvLyBGb290ZXIgY29sb3VycyBwcmUtcHJvY2Vzc2luZy5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkbWVudS1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgZGVmYXVsdCksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJG1lbnUtaG92ZXItaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGhvdmVyKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJG1lbnUtYWN0aXZlLWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBhY3RpdmUpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBpZiBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKCRmb290ZXItbWFyZ2luLXRvcCAvIDIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbWFyZ2luLXRvcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkZm9vdGVyLXNlcGVyYXRvcikge1xyXG4gICAgICAgICY6I3tpZigkZm9vdGVyLXNlcGVyYXRvci10b3AsIGJlZm9yZSwgYWZ0ZXIpfSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbWFyZ2luLXRvcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBUaGUgc29jaWFsSWNvbnMgcHJvcGVydGllcyBjYW4gZ28gb25jZSB3ZSBnbyB3aXRoIHVzaW5nIGZvbnRhd2Vzb21lJ3MgZ2x5cGhzLCB5b3UgbWF5IG5lZWQgdG8gdW50YW5nbGUgc29tZSBvZiB0aGVzZSBvcHRpb25zIHRvIG1ha2Ugc3VyZSB0aGV5J3JlIGFsbCBiZWluZyBhcHBsaWVkIGluIHRoZSAuZm9vdGVyIGNsYXNzIGluIGF4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3NcclxuICAgIC5zb2NpYWxJY29ucywgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIG5vdCAoJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9ycykge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkZm9vdGVyLXNvY2lhbC1zdXBwcmVzcy1jb250YWluZXItc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRmb290ZXItc29jaWFsLWljb25zLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1zb2NpYWwtaWNvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBmb3IgYW55IHRleHRkYiBlbnRyaWVzIGluIHRoZSBmb290ZXIuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLWNtcy1saW5lLWhlaWdodCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbiA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBjZW50ZXIsIGxlZnQpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2hvdy1jb250YWN0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9ycykge1xyXG4gICAgICAgIHVsLm1lbnUge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRyb2xzIGhvdyBmYXIgdGhlIGZvb3RlciBjb250ZW50IHNob3VsZCBzcGFuLlxyXG4uZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItZ3JpZC13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSBvciAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgIH1cclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCYW5uZXIgc2VyaWVzIGZvciB0aGluZ3MgbGlrZSBhY2NlcHRlZCBwYXltZW50IG1ldGhvZHMgb3IgaW1hZ2UocykgdGhhdCBzaXQgYWJvdXQgdGhlIGZvb3RlciBjb250ZW50LlxyXG4uZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICYuY29udGVudC1oZWFkZXIge1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5bWVudC1tZXRob2RzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAje3NwYWNpbmctdmFsdWUoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCksIDIpfSk7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBET05UIGRvIHRoaXMgaXRzIGtpbGxzIHRoZSBsYXlvdXQgaW4gbW9iaWxlIGZvciBzdGFuZGFyZCBmb290ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1iYXNpczogY2FsYyg1MCUgLSAje3NtYWxsLXZhbHVlKHNwYWNpbmctdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCwgMikpfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmICsgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZvb3RlciBjb3B5cmlnaHQuXHJcbi5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAvLyBDb250cmFjdCBjaGVja2VyLlxyXG4gICAgLy8gRGVjaWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciwgaWYgdGhlIGNvcHlyaWdodCBjb250YWluZXIgZG9lc24ndCBzcGVjaWZpY2FsbHkgc3BlY2lmeSBhIGJhY2tncm91bmQgY29sb3VyIHRoZW4gZGVmYXVsdCB0byB0aGUgZm9vdGVyIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDtcclxuICAgIC8vIFRoZSBzZXBlcmF0b3JzIGJldHdlZW4gdGhlIHRleHQgY29sb3VyLlxyXG4gICAgJHNlcGVyYXRvci1jb2xvdXI6IFwiXCI7XHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvcikge1xyXG4gICAgICAgICRzZXBlcmF0b3ItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItc2VycGVyYXRvci1jb2xvdXIsICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAvLyBDb3B5cmlnaHQgcGFyYWdyYXBoIGNvbG91ci5cclxuICAgICRwYXJhZ3JhcGgtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1jb2xvdXIsICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGRlZmF1bHQgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBob3ZlciBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGhvdmVyKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgYWN0aXZlIGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG5cclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZztcclxuICAgIH1cclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgICAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAvLyBBZGQgc21hbGwgc3BhY2UgYWJvdmUganVzdCBpbmNhc2UgcGF5bWVudCBtZXRob2QncyBpcyBzdXBwcmVzc2VkLlxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbik7XHJcbiAgICAgICAgQGlmICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLW1hcmdpbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmFsIGZvb3RlciBtZW51IG5hdmlnaWF0aW9uLlxyXG4uZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlciBmb3IgcGFyZW50IGNvbG91cnMuXHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkcGFyZW50LWRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBMZXZlbCAxXHJcbiAgICA+IHVsLm1lbnUge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBzdHlsZSB0byBmb3JjZSBwcm9tb3Rpb24gY29udGFpbmVyIHRvIGZpdCBvbiByb3cuXHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIGEgY2hldnJvbiBpcyBwcmVzZW50IG1ha2Ugc3VyZSBpdCBoYXMgYW4gYXBwcm9wcmlhdGUgY29sb3VyIGFzc2lnbmVkLlxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEJlY2F1c2UgeW91IHdhbnQgdG8gdGhlIGNvbnRlbnQgZmx1c2ggYWdhaW5zdCB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHAsICY6Zmlyc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCBwLCAmOmxhc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcGFyZW50LXNlcGVyYXRvci1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItcGFyZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBob3ZlciBzdGF0ZS5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdChbaHJlZl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEsID4gcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9vdGVyLWxpc3QtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmW2hyZWZdIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IGJhY2tncm91bmQtY29sb3JcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbGlzdC1tYXJnaW4tdG9wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFB1c2ggZmlyc3QgaXRlbSBhd2F5IGZyb20gcGFyZW50IHVzaW5nIHRoZSBib3R0b20gdmFsdWUgc28gdGhlIHNwYWNpbmcgaXMgZXF1YWwgdG9wICYgYm90dG9tLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZy1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY2hpbGQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNoaWxkLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogU3VwcHJlc3NpbmcgdGhpcyBhcyBpdCBpcyBnZXR0aW5nIGluIHRoZSB3YXkgb2Ygc2hvd2luZyBjb250YWN0IGljb25zIGZvciBtYWlsdG86ICYgdGVsOi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBub3cgdXNpbmcgYXhpcy1tZW51J3MgdHlwaWNhbGx5IGNoaWxkIGl0ZW1zIGhhdmUgYSBhcnJvdyBzaG93aW5nIG5leHQgdG8gdGhlbSB0aGlzIGlzIGJlaW5nIGZvcmNhYmx5IHN1cHByZXNzZWQgZm9yIGZvb3RlciBtZW51J3MsIG1ha2UgdGhpcyBjb25maWd1cmFibGUgaW4gdGhlIGZ1dHVyZSBpZiBuZWVkcyBiZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29udGVudDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jaGlsZC1ob3Zlci10ZXh0LWRlY29yYXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIG5vIG90aGVyIG9wYWNpdHkgZ2V0cyBhcHBsaWVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEN1cnJlbnRseSB3ZSdyZSBvbmx5IHNob3dpbmcgb25lIHR5cGUgb2YgbWVudSBpbiB0aGUgZm9vdGVyIGJ1dCBJIGFtIGxlYXZpbmcgdGhpcyBvcGVuIHNvIHdlIGNhbiBhZGQgZGlmZmVyZW50IHR5cGVzICggaS5lIGEgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IG1lbnUgKVxyXG4gICAgJi5tYWluLW1lbnUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6ICRmb290ZXItbWFpbi1tZW51LWZsZXgtZ3JvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgICAgICBvcmRlcjogJGZvb3Rlci1saXN0LW9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBhY2NvcmRpb24gc3R5bGVzIGluIG1vYmlsZS5cclxuICAgIC5tZW51IC5pcy1zdWJtZW51LWl0ZW0gYSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgZmxleDogMTtcclxuICAgIG9yZGVyOiAzO1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItbWFyZ2luO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1tYXJnaW47XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSBob2xkcyBtYWlsaW5nIGxpc3QsIHNvY2lhbCBpY29ucyAmIGNtcyBlbnRyeS5cclxuLmZvb3Rlci1wcm9tb3Rpb25zIHtcclxuICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcykpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKTtcclxuICAgIH1cclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCkpIHtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApO1xyXG4gICAgfVxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgb3JkZXI6ICRmb290ZXItcHJvbW90aW9uLWFyZWEtb3JkZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICBAaWYgKCRmb290ZXItcHJvbW90aW9ucy13aWR0aCkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcykpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZvcmNlIGNvbnRlbnQgdG8gYmUgYWxpZ25lZCB0aGUgcmlnaHQsIG9ubHkgYWxsb3cgY2VudGVyaW5nIHdoZW4gbm8gcHJvbW90aW9ucy5cclxuICAgICYgKyAuZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIG1haWxpbmcgbGlzdC5cclxuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIG1haWxpbmctbGlzdCk7XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBhbnkgc29jaWFsIGljb25zIHdpdGhpbiB0aGUgcHJvbW90aW9uIGFyZWEuXHJcbiAgICAuc29jaWFsSWNvbnMsIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgc29jaWFsLWljb25zKTtcclxuICAgIH1cclxuICAgIC8vIE9yZGVyIHRleHRkYiBjb250ZW50IGluc2lkZSBvZiBwcm9tb3Rpb24gY29udGFpbmVyLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgdGV4dGRiKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHRleHRkYik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgZm9yIGZvb3RlciBsb2dvXHJcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBsb2dvLWNvbnRhaW5lcikpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBsb2dvLWNvbnRhaW5lcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgZm9yIGNvbnRhY3QgZGV0YWlscyAoIHRlbGVwaG9uZSAvIGVtYWlsIClcclxuICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBjb250YWN0LWRldGFpbHMpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgY29udGFjdC1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IHVzZWQgaW4gdGhlIHByb21vdGlvbiBjb250YWluZXIgdG8gY2F0YWdvcmlzZSB0aGUgc29jaWFsIG1lZGlhIGljb25zLCBtYWlsaW5nIGxpc3QgJiBjbXMgZW50cnkuXHJcbi5mb290ZXItcHJvbW90aW9uLWhlYWRpbmcge1xyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgIC8vIENNUyBoZWFkaW5nLlxyXG4gICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbG9nby1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KTtcclxuICAgIH1cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCkpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCkpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28tbWFyZ2luKTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC8vIExldmVyYWdpbmcgdGhlIHNhbWUgc3R5bGVzIGZvciBjb250YWN0IGVtYWlsICYgdGVsZXBob25lIGluIHRoZSBoZWFkZXIgKCBpLmUgdGhlIGljb25zICkuXHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLXJldmVhbC1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRmb290ZXItcmV2ZWFsLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKSkge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstcGFkZGluZywgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYm9yZGVyLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXNpemUsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC13ZWlnaHQsICh3aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aCksIG1vYmlsZS13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aCkpLCAwLCBmbGV4LCAkZm9vdGVyLW1haWxpbmctbGlzdC1pY29uLWNvbmZpZyk7XHJcbn1cclxuXHJcbi5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAvLyBUZXh0ZGIgaGVhZGluZy5cclxuICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIFRleHRkYiBtdWx0aS1saW5lIGNvbG91ci5cclxuICAgICR0ZXh0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGV4dGRiIGVudHJ5LlxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG91cjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIGtlZXAgc3BhY2luZyBjb25zaXN0ZW50IHdpdGggZm9vdGVyIG1lbnUuXHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBNYWlsaW5nIGxpc3QgaW5wdXQuXHJcbiAgICBzcGFuLm1haWwtaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIH1cclxuICAgIC8vIE1haWxpbmcgbGlzdCBmb3JtLlxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm0ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91ci1pbmNsdWRlLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyBidXR0b246YmVmb3JlLCAmICsgYnV0dG9uOmVtcHR5OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgd2lsbCBuZWVkIGV4dGVuZGluZyBpZiB3ZSB3YW50IHRvIGZ1bmRpbWVudGFsbHkgY2hhbmdlIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBmaWVsZC5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ci1pbmNsdWRlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3IpIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUgc29saWQgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZCkge1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSArICgkZm9vdGVyLW1hcmdpbi10b3AgLyAyKSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSArICRmb290ZXItbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLSN7aWYoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplLCAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkgKyAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUpLCBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSl9O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLXVybCwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0je2lmKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSwgKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpICsgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplKSwgbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkpfTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtdXJsLCBsYXJnZSkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogVEJDLlxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgQGlmIG5vdCAoJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCAkZm9vdGVyLWJhY2tncm91bmQtdG9wKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1iYWNrZ3JvdW5kLW1hcmdpbi10b3A7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgQGlmICRmb290ZXItZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIG9yICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogI3tpZigkZm9vdGVyLWxpc3QtcmV2ZXJzZS1vcmRlciwgXCJyb3ctcmV2ZXJzZVwiLCBcInJvd1wiKX07XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBSkFYIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gQUpBWCBTcGlubmVyXHJcbi0gQ2FsbGJhY2sgY29udGFpbmVyc1xyXG4tIFVwZGF0ZSBDb250ZW50IC0gQmFzaWNhbGx5IGEgY29udGFpbmVyIGluc2lkZSBvZiB0aGUgYWpheCByZXNwb25zZSB0aGF0IGFsbG93cyB5b3UgdG8gdXBkYXRlIGNvbnRlbnQgb3V0c2lkZSBvZiB0aGUgY2FsbGJhY2sgY29udGFpbmVyLlxyXG4qL1xyXG5cclxuXHJcbi8vLS0tLS0gQUpBWCBibG9jayAtLS0tLVxyXG4uY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBBZGQgZmxleC1ncm93IGZvciBhamF4J2QgaW4gZm9ybSBpbiBhIG1vZGFsLlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gSU1QT1JUQU5UOiBEb250IGFkZCB6LWluZGV4IHByb3BlcnR5IGFzIHRoaXMgY2xhc3MgZ2V0cyB1c2VkIGFsbCBvdmVyIHRoZSBzaG9wIGFuZCB3aWxsIGNhdXNlIG92ZXJsYXBwaW5nIGlzc3VlcyB3aXRoIG90aGVyIGNvbnRlbnQgKCBpLmUgcHJvZHVjdCBsaXN0cyBxdWFudGl0eSBkcm9wIGRvd25zICkuXHJcbiAgICAvLyBBZGRpbmcgei1pbmRleCBhamF4IG1vZGFscyB0byBtYWtlIHN1cmUgdGhleSBvdmVybGFwIGFsbCBwYWdlIGNvbnRlbnQuXHJcbiAgICAvLyB6LWluZGV4OiAxOTk5O1xyXG4gICAgJjpoYXMoLkFKQVhCbG9jaykge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsYmFja0xpc3RDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi8vLS0tIFNwaW5uZXIgLS0tXHJcblxyXG4uQUpBWEJsb2NrLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmxvY2stYmFja2dyb3VuZDtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG4gICAgLnNwaW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gdG9wOiAwO1xyXG4gICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRhamF4LXNwaW5uZXItY29sb3VyKTtcclxuICAgICAgICAmICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBVcGRhdGUgY29udGVudCAtLS0tLSBcclxuW2RhdGEtdXBkYXRlLWNvbnRlbnRdLCBbZGF0YS1hamF4LXVwZGF0ZS1icmVhZGNydW1ic10ge1xyXG4gICAgLy8gVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNldCB0byBkaXNwbGF5IG5vbmUgdG8gcHJldmVudCB0aGUgbmV3IGNvbnRlbnQgZmxhc2hpbmcgaW5mcm9udCB0aGUgb2YgdGhlIHVzZXIgYmVmb3JlIGl0IGlzIG1vdmVkIGludG8gcGxhY2UuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLypcclxuLS0tLS0gRmlsdGVycyAtLS0tLS0gXHJcbi0gVGhlc2UgYSB0eXBpY2FsbHkgb24gbGlzdCBwYWdlcyBmb3IgcHJvZHVjdHMuXHJcbi0gQXR0cmlidXRlIGZpbHRlcnMgdGhhdCBhbHNvIGluY2x1ZGUgY29sb3VyIGZpbHRlcnMgYW5kIHByaWNlIHNsaWRlci5cclxuLSBZb3Ugd2lsbCBhbHNvIGZpbmQgdGhlIG1vYmlsZSBzdHlsZXMgaGVyZSBmb3IgZmlsdGVycy5cclxuKi9cclxuXHJcblxyXG4vLyBUT0RPOiBUaGlzIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQgaW50byB0aGUgdmFyaWFibGVzLnNjc3MuXHJcbiRmaWx0ZXJEZXNrdG9wV2lkdGg6IDE4NXB4O1xyXG4kYXR0cmlidXRlQXBwbGllZExpbmtXZWlnaHQ6IDQwMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nUGFkZGluZzogMTBweCAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdDb2xvdXI6ICRjb2xvdXI0O1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdCYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nV2VpZ2h0OiA2MDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkQW5jaG9yQ29sb3VyOiAkY29sb3VyMjtcclxuJGF0dHJpYnV0ZUFwcGxpZWRBbmNob3JDb2xvdXJIb3ZlcjogJGNvbG91cjQ7XHJcbiRvcHRpb25IZWFkaW5nQ29sb3VyOiAkY29sb3VyNDtcclxuLy8gJGF0dHJpYnV0ZUNvbG91clByZXZpZXdQb3NpdGlvblRvcDogMDtcclxuLy8gJGF0dHJpYnV0ZUNvbG91clByZXZpZXdQb3NpdGlvblJpZ2h0OiAxMHB4O1xyXG4kYXR0cmlidXRlQ29sb3VyUHJldmlld0JvcmRlclJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9uczogMTBweDtcclxuJGF0dHJpYnV0ZUZpbHRlcldpZHRoOiA4MHB4O1xyXG4kYXR0cmlidXRlT3B0aW9uUGFkZGluZzogMTBweCAwO1xyXG5cclxuXHJcbiNtb2JpbGVUb2dnbGVDb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdC8vIG1hcmdpbjogMCAwIDE1cHg7XHJcblx0dWwge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0fVxyXG59ICBcclxuXHJcbi8vIElNUE9SVEFOVDogVGhpcyB3YXMgYnVpbGQgc3BlY2lmaWNhbGx5IGluIHRoZSBjb250ZXh0IG9mIHByb2R1Y3QtbGlzdCdzIHdoaWNoIG9ubHkgZ290IHNob3duIGluIG1vYmlsZSBhbmQgd2FzIGxhdGVyIFwiYWRhcHRlZFwiIHRvIGZpdCBpbnRvIHRoZSBkZXNrdG9wIHZpZXcgaW4gdGhlIHNvcnRpbmcgb3B0aW9ucyBiYXIuXHJcbiNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiAyMHB4IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC13ZWlnaHQ7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtc2l6ZSk7XHJcblx0Zm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcblx0QGlmICgkZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAkZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmc7XHJcblx0fVxyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6bm90KC5pcy1zdHVjaykge1xyXG5cdFx0Ly8gT3ZlcnJpZGUgdGhlIHN0aWNreSBwb3NpdGlvbmluZyB3aGVuIG5vdCBzdHVjayAjODExMTM3LlxyXG5cdFx0dG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdCYuaXMtc3R1Y2sge1xyXG5cdFx0Ly8gT3ZlcnJpZGUgdGhlIHN0aWNreSBwb3NpdGlvbmluZyB3aGVuIG5vdCBzdHVjayAjODExMTM3LlxyXG5cdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyLCBzdHVjayk7XHJcblx0XHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDRzO1xyXG5cdFx0ei1pbmRleDogMTAwMDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdH1cclxuXHR9XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsdGVyKTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbik7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRjb2xvcjptYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTVweDsgLy8gZGVzY3JlYXNpbmcgc2l6ZSBhcyB0aGlzIHdhcyBrbm9ja2luZyBvdGhlciBzb3J0aW5nIG9wdGlvbidzIHRleHQgb3V0IG9mIGFsaWdubWVudC5cclxuXHRcdH1cclxuXHR9XHJcblx0Jjpob3ZlciB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHQuYWN0aXZlLWZpbHRlci1jb3VudCB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDNweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0JGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU6IDE1cHg7XHJcblx0XHRcdHdpZHRoOiAkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTtcclxuXHRcdFx0aGVpZ2h0OiAkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDEycHg7XHJcblx0XHRcdGxlZnQ6IDEycHg7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDkpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogKCRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplIC0gLjgpOyAvLyBTdWJ0cmFjayB0aGUgYm9yZGVyLlxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHRib3JkZXI6IC44cHggc29saWQgJGNvbG91cjE7XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbn1cclxuXHJcbi5maWx0ZXJzLWhlYWRlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctbW9iaWxlLWJhY2tncm91bmQtY29sb3I7XHJcblx0QGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHR9XHJcblx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCByZ2JhKCRjb2xvdXI0LCAwLjgpKTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuLmZpbHRlcnMtZm9vdGVyIHtcclxuXHQvLyBPbmx5IHNob3cgZm9yIG1vYmlsZSBkdWUgdG8gcG9wdXAuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0LmJ1dHRvbi1jb250YWluZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRidXR0b24ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiNmaWx0ZXJCYWNrVG9MaXN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogYXV0bztcclxuXHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjQpO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXIyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7IFxyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0fVxyXG59XHJcbi5hdHRyaWJ1dGVMaXN0Lm1lbnUge1xyXG4gICAgLy9JZiB0aGUgb3ZlcmZsb3cgc2Nyb2xsIGZ1bmN0aW9uIGhhcyBiZWVuIGFjdGl2ZSBhbmQgdGhlIHBhcmVudCBsaSBpcyBub3QgYWN0aXZlIGZvcmNlIHRoZSBhdHRyaWJ1dGUgdG8gY2xvc2UuXHJcbiAgICA+IHVsID4gbGk6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAuYXR0cmlidXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB9XHJcblx0fVxyXG5cdD4gbGkge1xyXG5cdFx0bWFyZ2luOiAkZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjtcclxuXHRcdHBhZGRpbmc6IDAgMCAxNXB4OyBcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWFyZ2luOiAwIDAgJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luO1xyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cdFx0fVxyXG5cdFx0bGkge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuICAgIHVsIHtcclxuXHRcdC8vIHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHRsaSB7IFxyXG5cdFx0XHRwYWRkaW5nOiA1cHggMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgICAgICBsaS5hY3RpdmUge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyMjtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0fVxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy8gbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlck5hbWUsIC5maWx0ZXJJdGVtQ291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgICAgICAgICAuY29sb3VyUHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogKCRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9ucyAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9ucyAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5maWx0ZXJOYW1lIHtcclxuXHRcdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuXHRcdH1cclxuXHRcdC5jb2xvdXItcHJldmlldy1jb250YWluZXIge1xyXG5cdFx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHRcdG9yZGVyOiAzO1xyXG5cdFx0fVxyXG5cdFx0LmNvbG91clByZXZpZXcge1xyXG5cdFx0XHR3aWR0aDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGg7XHJcblx0XHRcdGhlaWdodDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctaGVpZ2h0O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIDEwcHggMCBhdXRvO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXItcmFkaXVzO1xyXG5cdFx0XHRib3JkZXI6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlcjtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0LmZpbHRlckl0ZW1Db3VudCB7XHJcblx0XHRcdC8vIG1heC13aWR0aDogMjVweDtcclxuXHRcdFx0Ly8gd2lkdGg6IDEwMCU7XHJcblx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDVweDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0LmNvbnRyb2wgLmNoZWNrYm94IHtcclxuXHRcdFx0Ly8gQWRkIG1hcmdpbiByaWdodCB0byBsaW5lIHVwIHdpdGggbWVudSBjaGV2cm9ucy5cclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdFx0b3JkZXI6IDQ7XHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cdC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQuaXMtc3VibWVudS1pdGVtIHtcclxuXHRcdCZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG5cdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ly8gdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHQmW2FyaWEtaGlkZGVuPXRydWVdIHtcclxuXHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdCYuc2Nyb2xsZXIge1xyXG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG5cdFx0XHQvLyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHQvL0lmIHRoZSBzY3JvbGwgY2xhc3MgaXMgYXBwbGllZCB0aGVuIGZvcmNlIHRoZSBzdWIgbWVudSB0byBkaXNwbGF5LlxyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub3B0aW9uSGVhZGluZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiAkZmlsdGVycy1vcHRpb24tcGFkZGluZztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHR9XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc3VibWVudSB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQuc2hvd01vcmVBdHRyaWJ1dGVzLCAuc2hvd0xlc3NBdHRyaWJ1dGVzIHtcclxuXHRcdCYgPiBhIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Z2FwOiAwIDEwcHg7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXdlaWdodDtcclxuXHRcdFx0Zm9udC1zdHlsZTogJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC1zdHlsZTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc2hvd01vcmVBdHRyaWJ1dGVzLmFjdGl2ZSB7XHJcblx0YSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWZvbnQtc2l6ZSk7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1ob3Zlci1jb2xvdXI7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyBhIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uc2hvd0xlc3NBdHRyaWJ1dGVzIHtcclxuXHRhIHtcclxuXHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0Zm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHRcclxuI2ZpbHRlcnMtY29udGFpbmVyIHtcclxuXHQvLyBoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbiNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdH1cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmFjdGl2ZS11cGRhdGluZyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0I2ZpbHRlcnMtY29udGFpbmVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5hY3RpdmUsICYuYWN0aXZlLXVwZGF0aW5nIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcclxuXHRcdFx0ei1pbmRleDogMTAwMDA7XHJcblx0XHRcdC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIge1xyXG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVxyXG5cdGgyIHtcclxuXHRcdC8vbWFyZ2luOiA1cHggMCAzMHB4O1xyXG5cdFx0cGFkZGluZzogMTBweCA1cHg7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgNXB4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR1bCBsaXtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0Ly8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxpbmcgZm9yIG1lbnVzLlxyXG5cdFx0JjphY3RpdmUsICY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIGEge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjMtNjtcclxuXHRcdH1cclxuXHR9XHJcblx0LnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdC8vIE92ZXJyaWRlIGRlZmF1bHQgcmVzcG9uc2l2ZSBtZW51IHN0eWxpbmcuXHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLy8gQXBwbGllZCBmaWx0ZXJzXHJcbiNhcHBsaWVkRmlsdGVycyB7XHJcblx0Ly8gbWFyZ2luOiAkZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHQvLyBtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDM1cHg7XHJcblx0fVxyXG5cdGgzIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6ICRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1BhZGRpbmc7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0cmlidXRlQXBwbGllZEhlYWRpbmdCYWNrZ3JvdW5kO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXN0eWxlOiAkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zdHlsZTtcclxuXHR9XHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbjogNXB4IDAgMDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1ob3Zlci1jb2xvdXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogNXB4IDAgNXB4IDA7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQgLSAyMDApO1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICd4JztcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTBweDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHJpZ2h0OiA1cHg7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDAuNjtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaWNvbi1jb2xvdXI7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQgKyAxMDApO1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyAyKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDQpO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY2xlYXItYWxsLWF0dHJpYnV0ZXMge1xyXG5cdFx0XHRtYXJnaW46IDMwcHggMCAyMHB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQ7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYWxsLWNvbG91cjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEdvdCB0byBjb25zdHJ1Y3QgdGhlIHNlbGVjdG9yIGluIHRoaXMgbWFub3IgZHVlIHRvIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbmlucHV0LnByaWNlLXNsaWRlci1pbnB1dCB7XHJcblx0QGlmIHNtb290aC1lZGdlcygpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcmljZS1zbGlkZXItaW5wdXQge1xyXG5cdG1heC13aWR0aDogJGZpbHRlcnMtcHMtaW5wdXQtd2lkdGg7XHJcblx0bWF4LWhlaWdodDogJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0O1xyXG5cdC8vIE92ZXJyaWRlIGRlZmF1bHQgcGFkZGluZy5cclxuXHRwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuXHQvLyBPdmVycmlkaW5nIGRlZmF1bHQgbWFyZ2luIGZvciBjdXJyZW5jeSBvdXRwdXQuXHJcblx0Ym9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwIWltcG9ydGFudDtcclxuXHQvLyBESVNBQkxJTkcgRlJFRSBURVhUIElOUFVUIFdJTEwgSU1QTEVNRU5UIElOIFBIQVNFIDIuXHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ji51aS1zdGF0ZS1hY3RpdmUge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyO1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdCYudWktc3RhdGUtYWN0aXZlICsgLmN1cnJlbmN5IHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQvLyBTdHlsZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxyXG5cdCYgKyAuY3VycmVuY3kge1xyXG5cdFx0aGVpZ2h0OiAkZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG5cdFx0QGlmIHNtb290aC1lZGdlcygpIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmZvY3VzICsgLmN1cnJlbmN5IHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRib3gtc2hhZG93OiAtMTVweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQmOnJlYWQtb25seSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdCY6bnRoLW9mLXR5cGUoMikge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuI3ByaWNlLXNsaWRlciB7XHJcblx0bWF4LXdpZHRoOiA5NiU7XHJcblx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRtYXgtd2lkdGg6IDkzJTtcclxuXHR9XHJcbn1cclxuI3ByaWNlQXR0SGlnaCB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59IiwiLypcclxuLS0tLS0gTW9kYWxzIC0tLS0tLSBcclxuLSBUaGlzIGlzIHRoZSBtZWNoYW5pc20gdGhhdCBnZXRzIHVzZWQgZm9yIHBvcHVwIGNvbnRlbnQgaW4gZXhwcmVzcy5cclxuLSBDYW4gYmUgdXNlZCB0byBwb3AgZm9ybSwgY21zIGNvbnRlbnQsIG5vdGlmaWNhdGlvbiAmIHBheW1lbnQgZnJhbWVzLlxyXG4qL1xyXG5cclxuXHJcbkBtaXhpbiBwYXltZW50LWZyYW1lLWNvbnRlbnQtY29udGFpbmVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiAkcGF5bWVudC1mcmFtZS1wb3B1cC1tYXgtd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLm1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhlIGFjdHVhbCBjb250ZW50LlxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIC8vIEZvcmNlIGNvbnRlbnQgdG8gdGFrZSB1cCBhdmFsaWJsZSBzcGFjZSBvdGhlcndpc2UgY29udGVudCBjb250YWluZXIgY2hhbmdlcyBzaXplIHdoZW4gZm9ybSB2YWxpZGF0aW9uIGlzIHRyaWdnZXJzLlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0byAzMHB4O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gQWRkIGEgYml0IG9mIGJyZWF0aGluZyByb29tIGluIG1vYmlsZS5cclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIG1vZGFsIGlzIGFib3ZlIGFsbCBjb250ZW50LlxyXG4gICAgICAgIHotaW5kZXg6ICRtb2RhbC1jb250ZW50LXotaW5kZXg7XHJcbiAgICAgICAgLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFqYXgge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGF1dG87IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3BwZWQtc2Vzc2lvbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aCkgKyAxMDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jbXMtZW50cnktdmlld2VyIHtcclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2l0ZS1saXN0IHtcclxuICAgICAgICAmLnB1Ymxpc2gtaGlzdG9yeSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWluZm9ybWF0aW9uIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kb2N1bWVudGF0aW9uIHtcclxuICAgICAgICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAkY29sb3VyMztcclxuICAgICAgICAmLmVudHJ5LWVkaXRvciB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk4JTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tb2RhbC1oZWFkZXI6aGFzKC5jbXMtY29udGVudC1jb250YWluZXIpIH4gLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gS2VlcCBjb250ZW50IGlubGluZSBjbXMgY29udGVudC5cclxuICAgICAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSAqIDJ9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMiwgbGFyZ2UpICogMn0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jay1lZGl0b3JfX21haW4gPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1lZGl0b3ItaGVpZ2h0KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWFydGljbGUsICYuaW5zZXJ0LCAmLnByb3BlcnR5LWVkaXRvciB7XHJcbiAgICAgICAgICAgIC5jay1lZGl0b3Ige1xyXG4gICAgICAgICAgICAgICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzB2aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tZWRpYS1icm93c2VyIHtcclxuICAgICAgICAubWVkaWEtYnJvd3Nlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNvZnR3YXJlLWRvd25sb2FkIHtcclxuICAgICAgICAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIC5yZXZpc2lvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDB2aDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGlubGluZSBzdHlsaW5nIHRvIHByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIGFzIHRoaXMgc3BhY2luZyBpcyBoYW5kbGUgYnkgcGFkZGluZyBpbiBleHByZXNzLlxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MHB4IDFmciAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyLCAuYnV0dG9uLWxhYmVsLCAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyLCAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29mdHdhcmUtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2Z0d2FyZS1yZWxlYXNlLWRhdGUtdGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXltZW50LCAmLmFkZC1uZXctY2FyZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIgeyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGF5bWVudC1mcmFtZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7IFxyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkcGF5bWVudC1mcmFtZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lbnF1aXJ5LWZvcm0ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyICB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbiBhdHRlbXB0IHRvIG1ha2UgdGhpcyBzbGlnaHRseSBtb3JlIHJlcHNvbnNpdmUuXHJcbiAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGJvcmRlciB0byBvdXRsaW5lIHRoZSBzY3JvbGxhYmxlIGFyZWEuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyBmYWludCBpbnNldCBib3gtc2hhZG93IHRvIGF0dGVtcHQgdG8gc2hvdyBlZGl0YWJsZSBhcmVhIGR1ZSB0byBhY2Nlc3NpYmxpdHkgY29uY2VybnMuXHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsICNhY2NvdW50LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgODBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAuYnJhbmNoLXN3aXRjaGVyLCAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5hY2NvdW50LXN3aXRjaGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaGVhZGluZy0zLW1hcmdpbiwgMywgXCJwcmVzZXQtMlwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIHtcclxuICAgICAgICAgICAgLmFkZHJlc3MtbGluZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRofSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgJi5mb3JtIHtcclxuICAgICAgICAvLyBHZW5lcmFsaXNpbmcgdGhlc2Ugc3R5bGVzIHRvIGJlIHVzZWQgZm9yIGFsbCBmb3JtIG1vZGFscyBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgLy8gJi5zb2gtbm90aWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogOTB2aDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgICYudGFibGUge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6Zml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkdXNlcnMtcG9wdXAtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c2Vycy1wb3B1cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNlcnMtcG9wdXAtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxNTA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1nZXQoJHVzZXJzLXBvcHVwLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3VzZXJzLWJyYW5jaC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtc2VhcmNoLW1heC13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdC1icmFuY2hlcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJyYW5jaC1zZWFyY2gge1xyXG4gICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICR1c2Vycy1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBGb3JjZSBjZW50ZXIgYWxpZ25tZW50IGR1ZSB0byBtaXhlZCBjb250ZW50IHNvIGJhc2VsaW5lIGlzIG5vdCBhbiBvcHRpb24gaGVyZS5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ2NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLnNjYW5uZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjkwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvL21heC1oZWlnaHQ6IDQ2NXB4O1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgICYuY2FsbC1mb3JtIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZpZGVvLXBsYXllciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTV2dztcclxuICAgICAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0OiAyMHB4O1xyXG4gICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAubW9kYWwtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIC8vIFdvcmsgb3V0IHNwYWNlIHJlcXVpcmVkIGZvciBjbG9zZS1idXR0b24gdG8gbWFrZSBzdXJlIHRleHQgZG9lc24ndCBnbyB1bmRlci5cclxuICAgICAgICAgICAgJGNsb3NlLWJ1dHRvbi1zaXplOiAoJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodCArICRpY29uLXNpemUpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAjeyRjbG9zZS1idXR0b24tc2l6ZX07XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4ICN7JGNsb3NlLWJ1dHRvbi1zaXplfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kYWwtaGVhZGVyLWNtcy1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQtbm8tY29udGVudCwgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFjdC1jaGVja2VyKCRjb2xvdXI2LCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkZGVmYXVsdC1jb2xvdXIsICRob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgIHRvcDogI3soJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZSAvIDIpfXB4OyAvLyBUcnlpbmcgdG8gYmUgY2xldmVyIHRoZSBmb250LXNpemUgY2hhbmdlcyBmcm9tIHNpdGUgdG8gc2l0ZS5cclxuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29uZmlybWF0aW9uIG1vZGFscyAoIFN1Y2Nlc3MsIFdhcm5pbmcgJiBBbGVydCApXHJcbiAgICAmLmNvbmZpcm1hdGlvbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nIC8gMyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBvbmx5IHNob3dpbmcgYSBtZXNzYWdlIGFuZCB0aGF0cyB0aGUgZW50aXJlIHB1cnBvc2Ugb2YgdGhpc2UgbW9kYWwgdGVsbCBpdCB0byB0YWtlIHVwIHRoZSBlbnRpcmUgd2lkdGguXHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogIDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgbGlrZSBhIGhhbGYgd2F5IGJldHdlZW4gc3VjY2VzcyBhbmQgd2FybmluZy5cclxuICAgICYuYWN0aW9uLXJlcXVpcmVkIHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBEZW1vIHBvcHVwLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExNXB4IDEzNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0OyAvLyBDaGFuZ2luZyB0byBwcmltYXJ5IGJhc2UgYXMgYmFyZWx5IGFueSBlbGVtZW50cyB3YXMgdXNpbmcgNC03LCB0cnlpbmcgdG8gc2ltcGxpZnkgdGhlIHVzZSBvZiBleHByZXNzJ3MgY29sb3VyIHBhbGxldGUuXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg4NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2RhbC1sb2dvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEzNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utc2xvdC0xIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS1zbG90LTIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNb2RhbCBJbmZvcm1haXRvbiAtLS0tLSBcclxuLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIGZvcm1zLlxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC8vIFRyeSBhbmQga2VlcCBjb25zaXN0ZW50IHdpdGggZmllbGRzZXRzLlxyXG4gICAgLmluZm9ybWF0aW9uLXNlY3Rpb24ge1xyXG4gICAgICAgIC8vIER1ZSB0byB0aGVzZSBjb250YWluZXJzIGhhdmUgc3RyaW5ncyB0aGF0IGFyZSBub3QgbG9uZyBmb3JjaW5nIHdpZHRoIHRvIGJlIDgwdncuXHJcbiAgICAgICAgbWluLXdpZHRoOiA4MHZ3O1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBSZS1hZGp1c3RpbmcgdGhlIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgYSBydWxlLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIGZvcm0gZmllbGRzLlxyXG4gICAgLmluZm9ybWF0aW9uLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBJbmplY3RlZCBjb250ZW50IC0tLS0tXHJcbi8vLyBUaGUgY29udGFpbmVyIG9mIHRoZSBjb250ZW50LiBcclxuLmluamVjdC1jb250ZW50IHtcclxuICAgIC8vIFRoaXMgaXMgZm9yIGNvbnRlbnQgdGhhdCBpcyBpbiBhIGZvcm0gdGhhdCBnZXRzIGluamVjdGVkIGludG8gYSBtb2RhbCB0aGVuIGJhY2sgaW50byB0aGUgZm9ybSBmb3Igc2VyaWFsaXNhdGlvbi5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLy8gVGhlIGNvbnRhaW5lciBpbiB0aGUgbW9kYWwuXHJcbltpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyBNaW4gaGVpZ2h0IHRvIHNob3cgYWpheCBzcGlubmVyIGlmIHRoZXJlIGlzIG5vIGNvbnRlbnQuXHJcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgIC8vIEFkZCBmbGV4Ym94IGxheW91dCBmb3IgZm9ybXMuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6aGFzKGRpdi5BSkFYQmxvY2spIHtcclxuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA2NDBweFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIHRoZSByaWdodCB0byBhY2NvdW50IGZvciBhIHNjcm9sbCBiYXIuXHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEluamVjdCBtb2RhbCBidXR0b24uXHJcbi5pbmplY3QtYnV0dG9uIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgZGVmYXVsdCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vIERvbid0IGFwcGx5IHVuZGVybGluZSBhcyB0aGlzIGRvZXNuJ3Qgd29yayB3ZWxsIHdpdGggaWNvbnMuXHJcbiAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICYuZm9ybSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyA1MHB4IG1hcmdpbi1yaWdodCB0byBhbGxvdyBmb3IgcmVhZC1vbmx5IGljb24uXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1MHB4IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2NlZWQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBNb2R1bGVzIC0tLS0tXHJcblRoZXNlIGNhbiBiZSB1c2VkIGFueXdoZXJlIG9uIHRoZSBzaXRlIGhlYWRlciwgbWFpbiBjb250ZW50ICYgZm9vdGVyLCB0aGVzZSBoYXZlIGEgaGFyZCBkZXBlbmRhbmN5IG9uIGZvdW5kYXRpb24gWFkgZ3JpZCBzeXN0ZW0gZm9yIHRoZWlyIHBvc2l0aW9uaW5nLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFByb2R1Y3QgLyBJbWFnZSBjb2xsZWN0aW9uc1xyXG4gIC0gR3JpZCB2aWV3XHJcbiAgLSBTbGlkZXNob3cgdmlld1xyXG4tIFZhcm91cyBDTVMgdHlwZXM6XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIEdlbmVyaWMgQ01TIGVudHJpZXMgXHJcbi0gRUJHIEluZm9ybWF0aW9uXHJcbi0gQmFja2dyb3VuZHMgKCBDdXJyZW50bHkgb25seSBzdXBwb3J0IGp1c3QgY29sb3VycyBub3QgaW1hZ2VzICk6IFxyXG4gIC0gUm93IEJhY2tncm91bmRzIFxyXG4gIC0gTW9kdWxlIEJhY2tncm91bmRzXHJcbiovXHJcblxyXG4vLyBTdHlsaW5nIGZvciB0ZW1wbGF0ZSBtb2R1bGVzICggQ2Fyb3VzZWxzICYgY21zIHRleHQgKSArIHJvdyBiYWNrZ3JvdW5kcy5cclxuXHJcbi8vIC5yb3ctYmFja2dyb3VuZCB7XHJcbi8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbi8vICAgICAmLnJvdy1wYWRkaW5nIHtcclxuLy8gICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1wYWRkaW5nLCBzbWFsbCkgMDsgXHJcbi8vICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1tYXJnaW4sIHNtYWxsKTtcclxuLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1vZHVsZXMtcm93LXBhZGRpbmcsIGxhcmdlKTtcclxuLy8gICAgICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1tYXJnaW4sIGxhcmdlKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIEFzIHRoYXQgaXMgbW9yZSB0aGFuIGxpa2VseSBtYXJnaW4gb24gdGhlIGFib3ZlIGVsZW1lbnQgd2UgZG9uJ3QgbmVlZCB0byBhZGQgYSBtYXJnaW4gdG9wIHRvIHRoZSBmaXJzdCBtb2R1bGUuXHJcbkBpZiAoJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wKSB7XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ucm93LWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAzLCBzbWFsbClcclxuICAgIH1cclxuICAgICYuY29udGFpbmVyLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIHNtYWxsKSAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDMsIGxhcmdlKVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3tzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBsYXJnZSl9OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgIGJvcmRlcjogJG1vZHVsZS1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICAvLyBTdXBwcmVzcyBjbXMgY29udGVudCBwYWRkaW5nLXRvcCBkdWUgdG8gaGVhZGluZ3Mgbm9ybWFsbHkgaGF2aW5nIHRoZSBtYXJnaW4gYm90dG9tIGFscmVhZHkgYXBwbGllZC5cclxuICAgICAgICAmICsgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSWYgbW9kdWxlIGhlYWRpbmcgZXhpc3RzIHRoZW4gcmVtb3ZlIHBhZGRpbmcuXHJcbi5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gU2VsZWN0aW5nIGluc2lkZSBvZiB0aGUgZ3JpZC1jb250YWluZXIgYXMgeW91IHdpbGwgbW9zdCBsaWtlbHkgbm90IHdhbnQgdGhlIHJhZGl1cyBpZiB5b3UncmUgZnVsbCB3aWR0aC5cclxuQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgIC5ncmlkLWNvbnRhaW5lciAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2R1bGVzLW1vZHVsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kdWxlcy1yb3ctYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgLy8gRmFsbGJhY2sgaWYgbm8gbW9kdWxlIHBhZGRpbmcgaXMgcHJvdmlkZWQuXHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5tb2R1bGUtcGFkZGluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7c3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgbGFyZ2UpfTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNi41JTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBObyB0b3AgZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLXRvcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC8vIE5vIGJvdHRvbSBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTm8gdG9wICsgYm90dG9tIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi1ib3RoIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbGxlY3Rpb25zIC0tLS0tIFxyXG4uY29sbGVjdGlvbiB7XHJcbiAgICAvLyBEZWZhdWx0IHRvIHByb2R1Y3QgYXNwZWN0IHJhdGlvLCBvdmVycmlkZSBpZiBuZWVkZWQuXHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgLy8gTWFrZSBzdXJlIHRoZSBjb2xsZWN0aW9uIGdvZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbnRhaW5lciAoIHByb2R1Y3QgbGlzdCApXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICYuc2hvdy1jb2xvdXJzIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICg1cHggLSAoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGggKiAyKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3I6IDEuMyAhZGVmYXVsdDtcclxuXHJcbiAgICAvLyBHdXR0ZXIgY29uZmlndXJhdGlvbi5cclxuICAgICYuY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLXNtYWxsLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3sobWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKSAvICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yKX07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1sYXJnZS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3sobGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpIC8gJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3IpfTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmltYWdlLWdyaWQtbW9kdWxlLCAmLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC8vIExvb2sgZm9yIGlubGluZSBzdHlsZSdzIGZpcnN0IGFzIGJhbm5lciBjYW4gYmUgdXBsb2FkZWQgaW4gYWxsIGRpZmZlcmVudCBzaXplcywgdGhlbiBkZWZhdWx0IGJhY2sgdG8gYXV0byBpZiBub3RoaW5nIGlzIHByb3ZpZGVkLlxyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307IFxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGViZy1tZWRpYS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uJ3MgY2VsbCBjYWxjdWxhdGlvbiBpbiBmYXZvdXIgb2Ygb3V0IG93bi5cclxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSB0byB1c2UgdGhlIGdyaWQgbGF5b3V0IG1vZHVsZS5cclxuICAgIC5ncmlkLXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9ybXVsYSB1c2VkIGZvciBjYWxjdWxhdGluZyBjb2x1bW4gd2lkdGhzIGNvbGxlY3Rpb25zLlxyXG4gICAgQG1peGluIGNvbGxlY3Rpb24tZ3JpZC1jZWxsLWNhbGN1bGF0b3IoJGNvdW50KSB7XHJcbiAgICAgICAgLy8gVGhpcyBmb3JtdWxhIGlzIGJhc2VkIG9uIHRoaXMgc3RhY2sgcG9zdCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83MjExNjE3MC9hY2NvdW50LWZvci1nYXAtd2hlbi1jYWxjdWxhdGluZy1mbGV4LWJhc2lzLlxyXG4gICAgICAgIC8vd2lkdGg6IGNhbGMoI3t4eS1jZWxsLXNpemUoMSBvZiAjeyRjb3VudH0pfSAtIHZhcigtLW1vZHVsZS1ndXR0ZXIsIDBweCkgLyAkY291bnQgKiAoJGNvdW50IC0gMSkpO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7eHktY2VsbC1zaXplKDEgb2YgJGNvdW50KX0gLSB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAwcHgpIC8gI3skY291bnR9ICogKCN7JGNvdW50fSAtIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIb3cgbWFueSBjb2x1bW5zIGRvIHdlIHN1cHBvcnQgZm9yIGNvbGxlY3Rpb25zP1xyXG4gICAgJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudDogODtcclxuXHJcbiAgICBAbWl4aW4gZ3JpZC1jb2x1bW4tY2xhc3NlcygkYnJlYWtwb2ludCkge1xyXG4gICAgICAgIEBmb3IgJGNvbHVtbi1jb3VudCBmcm9tIDEgdGhyb3VnaCAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50IHtcclxuICAgICAgICAgICAgLiN7JGJyZWFrcG9pbnR9LXVwLSN7JGNvbHVtbi1jb3VudH0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGNvbHVtbi1jb3VudH0sIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTbWFsbCBEZXZpY2VzICggUGhvbmVzIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ3NtYWxsJyk7XHJcbiAgICAvLyBNZWRpdW0gRGV2aWNlcyAoIFRhYmxldHMgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3NlcygnbWVkaXVtJyk7XHJcbiAgICAvLyBMYXJnZSBEZXZpY2UgKCBEZXNrdG9wcyAmIEFib3ZlIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ2xhcmdlJyk7XHJcblxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IHRhcmdldHRpbmcgY29sbGVjdGlvbiBpbWFnZXMgKCB0aGlzIGluY2x1ZGVzIGdyaWQncyBhbmQgY2Fyb3VzZWxzICkgdG8gbGltaXQgdGhlIHNpemUgb2YgdGhlIGltYWdlcyBhcyB3ZSBjYW5ub3QgZ3VhcmFudGVlIHRoZSBzaXplIG9mIGV4dGVybmFsIGRhdGEncyBpbWFnZXMuXHJcbiAgICBAZm9yICRjb2x1bW4tY291bnQgZnJvbSAxIHRocm91Z2ggJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgLnNtYWxsLXVwLSN7JGNvbHVtbi1jb3VudH0sIFtieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW4tY291bnR9XCJdIHtcclxuICAgICAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdzbWFsbCcsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgbm90ICgkY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnc21hbGwnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBzZXQgZml0LWNvbnRlbnQgYXMgdGhpcyBjYXVzZXMgc2NhbGxpbmcgaXNzdWVzIGZvciBhcHBsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEN1cnJlbnRseSBkb24ndCBkbyBhbnl0aGluZyBkaWZmZXJlbnQgZm9yIG1lZGl1bSBkZXZpY2VzICggdGFibGV0cyApIHRvIHNtYWxsIGRldmljZSBidXQgdGhpcyBtYXkgbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXHJcblxyXG4gICAgICAgIC5sYXJnZS11cC0jeyRjb2x1bW4tY291bnR9LCBbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uLWNvdW50fVwiXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnbGFyZ2UnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBub3QgKCRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnbGFyZ2UnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IFxyXG5cclxuICAgICYuc2hvdy1jb2xvdXJzIHtcclxuICAgICAgICAvLyBBcyB0aGlzIGNhbiBvbmx5IGJlIEVCRyBvbmx5IHNlbGVjdCBlYmcgY29sbGVjdGlvbiBpdGVtcy5cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtLmViZyB7XHJcbiAgICAgICAgICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvLyAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyNCwgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxlcyBmb3IgYm90aCBjb21wYWN0IGFuZCBub24tY29tcGFjdCBtb2Rlcy5cclxuICAgICAgICAgICAgICAgICYuY29tcGFjdCwgJjpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICYuY29tcGFjdCwgJjpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSW1hZ2Ugc3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBEbyB3ZSByb3VuZCBpbWFnZSBjb250YWluZXIgZWRnZXM/XHJcbiAgICAgICAgJHJvdW5kLWltYWdlLWVkZ2VzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gSWYgdGhlIGNvbnRhaW5lciBoYXMgdGhlIGltYWdlIGNsYXNzIHRoZW4gcHV0IGEgYm9yZGVyIGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgY2VsbC5cclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlcyBpZiB0aGUgY3VycmVudCBjb250YWluZXIgaXMganVzdCBmb3IgYW4gaW1hZ2Ugb3Igd2hldGhlciB0aGUgaW1hZ2UgaXMgbmVzdGVkLlxyXG4gICAgICAgIC5pbWFnZSwgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcm91bmQtaW1hZ2UtZWRnZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyogU2V0dGluZyB0aGlzIGdlbmVyaWNhbGx5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XHJcbiAgICAgICAgICAgIDEuIElmIGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzIGlzIGVuYWJsZWRcclxuICAgICAgICAgICAgMi4gSWYgaW1hZ2Ugc2NhbGUgaXMgZW5hYmxlZC5cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5pbWFnZSwgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gVHJpYWxpbmcgdGhpcyBmaXggdG8gYmUgYSBiaXQgbW9yZSByZS1hY3RpdmUgdG8gY29sdW1uIGNvdW50cyBpbiBtb2JpbGUgZGV2aWNlIHdoZW4gc2hvd2luZyAyIGNvbHVtbnMgb2YgaW5mb3JtYXRpb24sIHdlIGRvbid0IGRlZmluZSB0aGUgbW9iaWxlIGNvdW50IHNvIHRoZXJlIGlzIG5vdGhpbmcgdG8gbGF0Y2ggb250byBpbiB0aGUgRE9NIHdoaWNoIHdvdWxkIHN1Z2dlc3QgMiBjb2x1bW5zIGFzIHRoZSB3aWR0aCBhcmUgcHJvZ3JhbWF0aWNhbGx5IHdvcmtlZCBvdXQgaW4gdGhlIEpTIGJ5IGRpdmlkaW5nIHRoZSBkZXNrdG9wIGNvdW50LlxyXG4gICAgW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEltYWdlICYgUHJvZHVjdCBncmlkIGNvbGxlY3Rpb25zLCB0aGlzIGdldHMgdXNlZCBmb3IgbW9kdWxlcyBhbmQgcHJvZHVjdCBsaXN0aW5nIHBhZ2VzLlxyXG4uaW1hZ2UtZ3JpZC1tb2R1bGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLCAuY29sbGVjdGlvbiB7XHJcbiAgICAuZ3JpZC1jb2xsZWN0aW9uLXgge1xyXG4gICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcclxuICAgICAgICAgICAgLy8gVW5zZXQgRm91bmRhdGlvbidzIFhZIEdyaWQgd2lkdGggaW4gZmF2b3VyIG9mIG91ciBvd24gbW9kdWxlJ3MgZ3JpZCBzeXN0ZW0gdGhhdCBpcyBub3QgYmFzZWQgb24gZmxleGJveC5cclxuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBQcm9kdWN0IEdyaWQgQ29sbGVjdGlvbiAtLS1cclxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkbW9kdWxlcy1ncmlkLWd1dHRlciwgJ3BhZGRpbmcnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbiAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbChpZigkY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kLCB0cnVlLCBmYWxzZSksIHRydWUpO1xyXG4gICAgLy8gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vICAgICAvLyBGb3IgYm94IHNoYWRvdy5cclxuICAgIC8vICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgLy8gfVxyXG59XHJcbi5wcm9kdWN0LWdyaWQtbW9kdWxlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBNYWtpbmcgYW4gYXNzdW1wdGlvbiB0aGF0IHRoZSBmaXJzdCBhbmNob3IgaXMgYW4gaW1hZ2UuXHJcbiAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAvLyBDZW50ZXIgaW1hZ2UgaW5zaWRlIG9mIGFuY2hvciBqdXN0IGluIGNhc2UgdGhlIGltYWdlIGlzIG5vdCB0aGUgY29ycmVjdCBzaXplIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhcnJhbmdlZCBsZWZ0LlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmhhcyhpbWcpKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpZiAoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgpIHtcclxuICAgIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcclxuICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoLCAyKSA9PSAwIGFuZCBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoLCAzKSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gYm9yZGVyIG9uIHRoZSBzaXplIGJ1dCBhdCB0aGUgYm90dG9tIHRoZW4geW91IG1vc3QgbGlrZWx5IG5lZWQgYWRkdGlvbmFsIHBhZGRpbmcgdG8gcHVzaCB0aGUgcnVsZSBhd2F5IGZyb20gdGhlIGNvbnRlbnQuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gSW1hZ2UgR3JpZCBDb2xsZWN0aW9uIC0tLSBcclxuLmltYWdlLWdyaWQtbW9kdWxlIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoMjBweCwgJ3BhZGRpbmcnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIgIHtcclxuICAgICAgICAvLyBBZGRpbmcgd2lkdGggZml0LWNvbnRlbnQgaWYgYm9yZGVyIGlzIGFwcGxpZWQgb3RoZXJ3aXNlIGEgZ2FwIFIgKyBMIGlzIGNyZWF0ZWQgaW4gbW9iaWxlIGR1ZSB0byBvbmx5IHN1cGx5aW5nIG9uZSBpbWFnZSBzaXplIGZvciBtb2JpbGUgJiBkZXNrdG9wLlxyXG4gICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuY29udGVudC1jb250YWluZXIgIHtcclxuICAgIC8vICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAvLyAgICAgICAgIGltZyB7XHJcbiAgICAvLyAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAmOmhvdmVyIHtcclxuICAgIC8vICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgLy8gICAgICAgICAgICAgaW1nIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgIC8vICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBDb250ZW50IE1hbmFnbWVlbnQgTW9kdWxlICggQ01TICkgLS0tLS1cclxuLmNtcy1tb2R1bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBUYWtlIHVwIGFsbCBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWltYWdlLWdhbGxhcnkoKTtcclxuICAgIEBpbmNsdWRlIGNtcy15b3V0dWJlLXZpZGVvKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMikgPT0gdHJ1ZSxub25lLHVuZGVybGluZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDMpID09IHRydWUsbm9uZSx1bmRlcmxpbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgQGlmICRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAvLyBUYWtlIHVwIGFsbCBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMtbW9kdWxlIHtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIC8qKiBXb3JrIG91dCB0aGUgY29sdW1uIHdpZHRoLCB0aGlzIHdhcyBvcmlnaW5hbGx5IGRlc2lnbmVkIGZvciBhIDIgY29sdW1uIGxheW91dCB3aGljaCBnb2VzIGRvd24gdG8gYSBzaW5nbGUgY29sdW1uIGluIHRoZSBmb2xsb3dpbmcgc2l0dWF0aW9uc1xyXG4gICAgICAgICAgICAtIEluIG1vYmlsZVxyXG4gICAgICAgICAgICAtIFdoZW4gdGhlIG1vZHVsZSBjb250YWluZXIgaXMgbm8gbG9uZ2VyIHdpZGUgZW5vdWdoIHRvIHNob3cgdG8gY29sdW1ucyB3aXRoIGEgd2lkdGggb2YgdGhlIGNhbGN1bGF0ZWQgY29sdW1uIHdpZHRoIGJlbGxvdy5cclxuICAgICAgICAgICAgKiovXHJcbiAgICAgICAgICAgICRjb2x1bW4td2lkdGg6ICgkZ2xvYmFsLXdpZHRoIC8gMikgLSAobGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpKSAtIGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbi1jb250ZW50LCAkY29sdW1uLXdpZHRoKSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBldmVudHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1tb2R1bGUge1xyXG4gICAgICAgIC8vIFRvIGZvcmNlIHRoZSBhZGRpdGlvbmFsIHNwYWNlIHRoYXQgbm9ybWFsbHkgb25seSBnZXRzIGFwcGxpZWQgaWYgbW9kdWxlcyBoYXMgYSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIEBpZiAkbW9kdWxlcy1ibG9nLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbW9kdWxlcy1ibG9nLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVW5zZXQgdGhlIG1heC1oZWlnaHQgaWYgdGhlcmUgaXMgYSBiYW5uZXIsIHRvIHRoZW4gbWF0Y2ggdGhlIGJhbm5lcidzIGhlaWdodC5cclxuICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGhlaWdodC5cclxuICAgICAgICAgICAgICAgICRyZWFkLW1vcmUtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRyZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgLy8gQWRkIG1heCBoZWlnaHQgdG8gY29udGVudCBvdGhlcndpc2UgZmFkZSBlZmZlY3Qgd2lsbCBiZSBpbiB0aGUgb3ZlcmZsb3cuXHJcbiAgICAgICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRyZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBibG9nKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICBAaWYgJG1vZHVsZXMtbmV3cy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkbW9kdWxlcy1uZXctaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFzIGEgcnVsZSBvZiB0aHVtYiBpZiB3ZSBhbGlnbiB0ZXh0IGNlbnRlciB3ZSBzaG91bGQganVzdGlmeSB0aGUgZW50aXJlIGNvbnRlbnQgYXMgd2VsbC5cclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gLS0tIFRleHQgYWxpZ25tZW50IC0tLVxyXG4gICAgICAgICYudGV4dC1hbGlnbi1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRleHQtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIC0tLSBMYXlvdXQgU3R5bGVzIC0tLSBcclxuICAgICAgICAvLyBDb250ZW50IGJvdHRvbSwgaW1hZ2UgdG9wLlxyXG4gICAgICAgICYubXVsdGltZWRpYS10b3Age1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciwgJi5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgTGVmdCwgaW1hZ2UgcmlnaHQuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXJpZ2h0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWluLWhlaWdodDogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBUb3AsIGltYWdlIGJvdHRvbS5cclxuICAgICAgICAmLm11bHRpbWVkaWEtYm90dG9tIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgUmlnaHQsIGltYWdlIGxlZnQuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBtaW4taGVpZ2h0OiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXlvdXQtc3R5bGUge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIG9sZCBzdHlsZXMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgbmVlZHMgdG8gYmUgcmVmYWN0b3JlZC5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyB1c2VyJ3Mgd291bGQgdXBsb2FkIGltYWdlcyB0aGF0IGFyZSB0b28gYmlnIGZvciB0aGUgY29udGVudCBhcmVhIHdoaWNoIHRoZW4gY2F1c2VzIHRoZSBpbWFnZSB0byBvdmVyZmxvdyB0aGUgY29udGFpbmVyJ3MgYm91bmRhcmllcy4gODY1MDQyXHJcbiAgICAgICAgLy8gLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAvLyAgICAgLmltYWdlIHtcclxuICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAmLmNvbXBhY3Qge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGd1dHRlci5cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgbGlzdCBwYWRkaW5nIHJ1bGVzIGR1ZSB0byBjYXVzaW5nIGxheW91dCBub3QgdG8gYWJpZGUgYnkgdGhlIGZsZXgtYmFzaXMgcnVsZXMgaW5wbGFjZSwgYmFzaWNhbGx5IG5lc3RlZCB1bCdzIHdpbGwgY2F1c2UgdGhlIGNvbnRlbnQgdG8gdGFrZSB1cCB0b28gbXVjaCBzcGFjZS5cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmlnaHQtYWxpZ25lZCwgJi5sZWZ0LWFsaWduZWQsICYuY29tcGFjdCB7XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgZW50cnkpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgZW50cnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYXMgYXNzb2NpYXRlZCBiYW5uZXIuXHJcbiAgICAgICAgLy8gJi5oYXMtaW1hZ2Uge1xyXG4gICAgICAgIC8vICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gQnkgZGVmYXVsdC5cclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQtYWxpZ25lZCwgJi5sZWZ0LWFsaWduZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleDogMCAwIDYwJTtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmlnaHQtYWxpZ25lZCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGVmdC1hbGlnbmVkIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICY6bm90KC5oYXMtaW1hZ2UpIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbHVtbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDYwcHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYucm93LWludmVydCB7XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgLy8gLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMjkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2LjUlO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jb2x1bW4taW52ZXJ0IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM5MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBuZWVkcyB0byBnbyBhZnRlciA4MTcxMzggaXMgbGl2ZS5cclxuICAgICY6bm90KC5jb2x1bW4pOm5vdCguY29sdW1uLWludmVydCk6bm90KC5yb3ctaW52ZXJ0KTpub3QoLmxheW91dC1zdHlsZSkuaGFzLWltYWdlIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBPdGhlcndpc2UgaW4gSUUgdGhlIGNvbnRlbnQgZ29lcyBvdXQgb2YgdGhlIG1vZHVsZSB3aWR0aC5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgLy8gQ2Fubm90IHN1cHByZXNzIHRoaXMgd2l0aG91dCB1c2luZyB0aGUgbmV3IGxheW91dC1zdHlsZSBvcHRpb25zLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgJjpub3QoLmxlZnQtYWxpZ25lZCkge1xyXG4gICAgICAgICYuaGFzLWltYWdlIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2x1bW4taW52ZXJ0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vIEltYWdlIG1hbmFnZW1lbnQuY2Fyb3VzZWwtbW9kdWxlXHJcbiAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgICBcclxuICAgICAgICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvLyBEb250IHNldCBoZWlnaHQgMTAwJSBhcyBpdCB3aWxsIGNhdXNlIGxhcmdlIHNwYWNlcyBiZWxsb3cgLyBhYm92ZSBmb3IgQXBwbGUgZGV2aWNlcyBpbiBtb2JpbGUgdGhpcyBpcyBhbXBsaWZpZWQgZGVwZW5kaW5nIG9uIGhvdyBvdmVyc2l6ZWQgdGhlIHRoZSBpbWFnZSBpcy5cclxuICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0OyAvLyBUaGlzIG5lZWRzIHRvIGJlIHNldCBmb3IgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaW4gZGVza3RvcCBkZWNpZGVzIHRvIHVzZSBjb250YWluIGluc3RlYWQgb2YgY292ZXIuXHJcbiAgICAgICAgICAgIC8vIEJlY2F1c2UgSUUgZG9lc24ndCBoYXZlIHN1cHBvcnQgZm9yIG9iamVjdC1maXQuXHJcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJRTEwK1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIC8vIG1heC1oZWlnaHQ6IDc1JTtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIC8vbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1uYXZpZ2F0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAuYmxvZy1idXR0b24sIC5uZXdzLWJ1dHRvbiwgLmV2ZW50cy1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBkb2Vzbid0IHdvcmsgZm9yIDEyIGNvbHVtbiBtb2R1bGVzLCB0aGVyZSBpcyBKUyBpbiBwbGFjZSB0byBkZXRlY3Qgd2hldGhlciBhIG1vZHVsZSBoYXMgYmVlbiBlcXVhbGlzZWQuXHJcbi8vIFRoaXMgaXMgdG8gcHJldmVudCBsb25nIGNtcyBlbnRyaWVzIGZyb20gZGljdGF0aW5nIHRoZSBoZWlnaHQgb2YgdHdvIGNlbGxzIGkuZSB3aGVuIHlvdSBoYXZlIGEgY29sbGVjdGlvbiB0byB0aGUgcmlnaHQgYW5kIGNtcyB0byB0aGUgbGVmdCwgb25jZSBlcXVhbGlzYXRpb24gaGFzIGZpbmlzaGVkIHRoZSBjb250ZW50IGlzIHJlLWVuYWJsZWQgYW5kIHRoZSByZWFkIG1vcmUgZmFkZSBpcyB0aGVuIGFwcGxpZWQsIHRoZSBvdGhlcndheSBhcm91bmQgdGhpcyB3b3VsZCBiZSBub3QgdG8gcHJvdmlkZSBhcyBtdWNoIG1hcmt1cCBmcm9tIGEgY21zIGVudHJ5IGJ1dCB0aGF0IGdldHMgY29tcGxleCBpbiB0ZXJtcyBvZiBnZW5lcmF0aW5nIGludmFsaWQgSFRNTC5cclxuLy8gLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuLy8gICAgICZbZGF0YS1lcXVhbGl6ZXItd2F0Y2hdOm5vdChbc3R5bGUqPVwiaGVpZ2h0XCJdKSB7XHJcbi8vICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XHJcbiAgICAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkge1xyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1OTBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogNi41JTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzcwcHg7XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIE1vZHVsZSBCYWNrZ3JvdW5kcyAtLS0tLSBcclxuLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAvLyAgICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IFxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAtLS0gUGFkZGluZyBjb25maWd1cmF0aW9uIC0tLSBcclxuICAgICYucmVtb3ZlLXBhZGRpbmctdG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy1ib3RoIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5yb3ctYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgIC8vIE1ha2Ugc3VyZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciBhcyB0aGlzIGNhbiBjYXVzZVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pO1xyXG4gICAgLy8gUmVtb3ZpbmcgYXMgaXQgd2FzIGdldHRpbmcgaW4gdGhlIHdheSBvZiBtb2R1bGUgY29uZmlndXJhdGlvbi5cclxuICAgIC8vIHotaW5kZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAvLyBZb3UgZG9udCBuZWVkIGFzIG11Y2ggYWRkaXRpb25hbCBwYWRkaW5nIGlmIG5vIGNvbG91ciBpcyBzZXQuXHJcbiAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSB7XHJcbiAgICAgICAgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1tb2R1bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDQsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgNCwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAmLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAvLyBBZGQgYSBzbWFsbCBndXR0ZXIgdG8gdGhlIHJpZ2h0ICsgbGVmdCB0byBhbGxvdyBmb3IgdGhlIGJhY2tncm91bmQgdG8gYmxlZWQgYXJvdW5kIGl0LlxyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMCwgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDAsIGxhcmdlKTsgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzIHNoYWRvdyBhcyB0aGlzIGRvZXNuJ3QgbG9vayB2ZXJ5IGdvb2Qgb24gYW55dGhpbmcgb3RoZXIgdGhhbiBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQ2Fyb3VzZWwgTW9kdWxlIC0tLS0tXHJcbi5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAvLyBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgJi5jYXJvdXNlbC1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ01TIFN1YnNpZGlhcnkgTW9kdWxlIC0tLS0tIFxyXG4uY21zLXN1YnNpZGlhcnktbW9kdWxlIHtcclxuICAgIC5zZXJpZXMtY2FyZCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIERvbnQgZG8gdGhpcyB1c2UgZ3JpZC1tYXJnaW4teSBpbnN0ZWFkLlxyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICAgICAgcGFkZGluZzogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtcGFkZGluZztcclxuICAgICAgICBib3JkZXI6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWJvcmRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctc2l6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICBcclxufVxyXG5cclxuLy8gLS0tLS0gRUJHIEluZm9yYW1hdGlvbiAtLS0tLVxyXG4uZWJnLWluZm9ybWF0aW9uLW1vZHVsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmdyb3VwLWZ1bGwtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmdyb3VwLW5vdGVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRpbmcgTW9kdWxlIC0tLS0tIFxyXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBtYXJnaW4tYm90dG9tIHRvIGFsbG93IGZvciByb3cgKyBtb2R1bGUgc3BhY2luZyB0byBjb250cm9sIHRoZSBnYXAuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRGVidWcgZGlzcGxheXMgLS0tLS0gXHJcbi8vIC0tLSBNb2R1bGUgY29uZmlnIC0tLSBcclxuLm1vZHVsZS1jb25maWcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgbGksIHN0cm9uZywgaDMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgbGksIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQXBwbHkgbW9kdWxlIGVmZmVjdCBzdHlsZXMsIHRoZXNlIHNob3VsZCBiZSBvcHRpb25hbCBhbmQgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3R5bGVzICggYWJvdmUgKS5cclxuLy8gQ29tbW9uIGVmZmVjdCB2YXJpYWJsZXMgc2hhcmVkIGFjcm9zcyBhbGwgbW9kdWxlcy5cclxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyBDb21tb24gc3R5bGVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIGFsbCBlZmZlY3Quc1xyXG4gICAgJi5lZmZlY3Qtc3R5bGUge1xyXG4gICAgICAgIC8vIC0tLS0tIFN0eWxlIG92ZXJyaWRlcyAtLS0tLVxyXG4gICAgICAgIC8vIEZvciBjb2xvdXIgb3B0aW9ucyBwbGVhc2UgcmVmZXIgdG8gZ2xvYmFsIENTUyB2YXJpYWJsZXMsIHRoZXNlIGFyZSBkZWZpbmVkIGluIHRoZSBnbG9iYWwgYXBwLnNjc3MuXHJcblxyXG4gICAgICAgIC8vIC0tLSBCb3JkZXIgT3B0aW9ucyAtLS1cclxuICAgICAgICAvLyBSYWRpdXMuXHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLXNtYWxsOiAxcHg7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogNXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1sYXJnZTogMjUlO1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy14bGFyZ2U6IDUwJTtcclxuXHJcbiAgICAgICAgLy8gV2lkdGggaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9jc3NyZWYvcHJfYm9yZGVyLXdpZHRoLnBocC5cclxuICAgICAgICAtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtbGlnaHQ6IDJweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1tZWRpdW06IDVweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1ib2xkOiAxMHB4O1xyXG5cclxuICAgICAgICAvLyAtLS0gSW1hZ2UgU2NhbGluZyAtLS1cclxuICAgICAgICAvLyBSZWR1Y2VcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1zbWFsbDogLjk1O1xyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLW1lZGl1bTogLjgwO1xyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLWxhcmdlOiAuNjA7XHJcblxyXG5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBUaGlzIG1heSBuZWVkIHJlZmluaW5nIGxhdGVyIG9uIHRvIHNwZWNpZmljIHByb3BlcnRpZXMuXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb2xsZWN0aW9uICggR3JpZCAmIENhcm91c2VscyApIHNwZWNpZmljIGVmZmVjdHMuXHJcbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyBFZmZlY3QgU3R5bGVzICggc3BlY2lhbCBlZmZlY3RzIG9uIHRoaW5ncyBsaWtlIGltYWdlcyBib3JkZXIsIGJveC1zaGFkb3dzIClcclxuICAgICYuaW1hZ2UtYm9yZGVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiB7XHJcbiAgICAgICAgLy8gRmFsbGJhY2sgcmFkaXVzLlxyXG4gICAgICAgICRyYWRpdXMtZmFsbGJhY2s6IDUwJTtcclxuICAgICAgICBcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgLy8gQWRkIGluc2V0IHNoYWRvdy5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsdGVyYW50aXZlIG1hcmt1cCAoIGFzIGltYWdlIG1vZHVsZXMgbWFya3VwIGlzIGRpZmZlcmVudCB0byBwcm9kdWN0IClcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygodmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEludmVydCBjZWxsIHNoYWRvdyBzaG93cyB0aGUgYm94LXNoYWRvdyBhcyBkZWZhdWx0IGluc3RlYWQgb2Ygb24gaG92ZXIsIHRoaXMgZXNzZW50aWFsbHkgZG9lcyAkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0IG9uIGEgbW9kdWxlIGxldmVsIGluc3RlYWQgb2YgYSBnbG9iYWwgbGV2ZWwuXHJcbiAgICAmLmludmVydC1jZWxsLXNoYWRvdyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSBvcGFjaXR5LlxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVkdWNlcyB0aGUgaW1hZ2Ugd2hlbiB0aGUgY29udGVudCBjb250YWluZXIgaXMgaG92ZXJlZC5cclxuICAgICYucmVkdWNlLWltYWdlLWhvdmVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIGJveC1zaGFkb3cgb24gY2VsbC5cclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1hZ2U6aG92ZXIsICY6aG92ZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIG9wYWNpdHkgMS5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tcmVkdWNlLWltYWdlLCAuOTUpKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuaW1hZ2UgaW1nIHtcclxuICAgICAgICAgICAgLy8gSWYgc21vb3RoIGVkZ2VzIGVuYWJsZWQgdGhlbiBlbnN1cmUgdGhlIGltYWdlIGhhcyByb3VuZGVkIGNvcm5lcnMsIHRoaXMgYWxzbyBuZWVkcyB0byBpbmNsdWRlIGhpZ2hsaWdodCBpdGVtIG92ZXJsYXlzIGFzIHdlbGwuXHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNlbGwtYm9yZGVyLWRlZmF1bHQge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3gtc2hhZG93LWRlZmF1bHQtaG92ZXItc3RhdGVzIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmLm1vZHVsZS1ib3JkZXJzIHtcclxuICAgICAgICAkcGFkZGluZzogKFxyXG4gICAgICAgICAgICBzbWFsbDogMjBweCxcclxuICAgICAgICAgICAgbGFyZ2U6IDgwcHhcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAje3NtYWxsLXZhbHVlKCRwYWRkaW5nKX0gMCAwO1xyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtdG9wIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc21hbGwtdmFsdWUoJHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNtYWxsLXZhbHVlKCRwYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBhZGRpbmcpICN7KGxhcmdlLXZhbHVlKCRwYWRkaW5nKSArIDIwKX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBBbmltYXRpb25zIEhUTUw1IENhbnZhcyAtLS0tLVxyXG4uYW5pbWF0aW9uLW1vZHVsZSB7XHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgW2RhdGEtYW5pbWF0aW9uXSB7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8pO1xyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXHJcbi0tLS0tIFN0b2NrIEluZGljaWF0b3IocykgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBJbnN0b2NrLCBPdXQgb2Ygc3RvY2sgJiBMb3cgc3RvY2sgaWNvbnMuXHJcbi0gRW1haWwgd2hlbiBiYWNrIGluIHN0b2NrXHJcbiovXHJcblxyXG4uc3RvY2staW5kaWNhdG9yIHtcclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICBAaWYgKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZSAhPSBcIm5vcm1hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy9TaGFyZWQgc3R5bGVzLlxyXG4gICAgICAgICYuc29oLTIsICYuc29oLTEsICYuc29oLTAge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgICAgICA+IHAsIHAsIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzdG9jay1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNoYXJlZCBzdHlsZXMgKCByZWdhcmRsZXNzIG9mIHByZXNldHMgKS5cclxuICAgICYuc29oLTIsICYuc29oLTEsICYuc29oLTAge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwLCBwLCAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFN0b2NrIGxldmVrIHNwZWNpZmljIHN0eWxlcyAtLS1cclxuICAgIC8vIEhpZ2ggc3RvY2tcclxuICAgICYuc29oLTIge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0yKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMi1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0yLWljb24tY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIExvdyBzdG9ja1xyXG4gICAgJi5zb2gtMSB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTEpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1sZXZlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTm8gc3RvY2tcclxuICAgICYuc29oLTAge1xyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTAtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTAtbGV2ZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTdG9jayBOb3RpZmljYXRpb25zIC0tLSBcclxuICAgICYubm90aWZpY2F0aW9uIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdG9jay1ub3RpZmljYXRpb24taWNvbik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc29oLW5vdGlmaWNhdGlvbi1zdGF0dXMtaWNvbi1zaXplO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdG9jay1ub3RpZmljYXRpb24tYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBXaGVuIHRoZSBub3RpZmljYXRpb24gaGFkIHByZXZpb3VzbHkgYmVlbiBlbmFibGVkLlxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2RhdGEtdG9vbHRpcF0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcclxuICAgIGNvbG9yOiAkc3RvY2staW5kaWNhdG9yLWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbGxlY3Rpb24tb25seSk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNvaC1jb2xsZWN0aW9uLW9ubHktaWNvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNvaC1jb2xsZWN0aW9uLW9ubHktY3VzdG9tLWljb24pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vLS0tIFN0b2NrIG5vdGlmaWNhdGlvbiBkZXRhaWxzIHByb21wdCAtLS0gXHJcbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9PdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsaW5nIGp1c3QgaW4gbW9iaWxlLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHRvcDogMTB2dyFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY21zQ29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4jbm90aWZpY2F0aW9uRm9ybUNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA4NXZ3O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwdnc7XHJcbiAgICB9XHJcbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRjb2xvdXIzKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtc3RvY2staW5kaWNhdG9yLXVwZGF0ZV0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8vLS0tLS0gUHJvZHVjdCBwYWdlIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7ICAgIFxyXG4gICAgLy8gV29ya291dCBoYWxmIG9mIGd1dHRlci5cclxuICAgICRlbnF1aXJ5LWd1dHRlcjogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIsIDIsIG1lZGl1bSkgLyAyKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoY2FsYygzMCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pLCAxZnIpIG1pbm1heChjYWxjKDcwJSAtICN7JGVucXVpcnktZ3V0dGVyfSksIDFmcik7XHJcbiAgICAgICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwgNjAlKSk7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpO1xyXG4gICAgICAgIC8vIFRoaXMgaXMgcHV0IGluIHBsYWNlIHNvIHRoYXQgc3RpY2t5IGltYWdlIGRvZXNuJ3Qgb3ZlcmxhcCBvbnRvIHRoZSB0YWJzIGFyZWEsIHllcyBpdHMgYSBoYWNrIGJ1dCB3aXRob3V0IHJlZGVzaWduaW5nIHRoZSBzdGlja3kgbWVjaGFuaXNtIDg0MzQ3MyB0aGVyZSBpcyBsaXR0bGUgd2UgY2FuIGRvLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDUwJSAtICN7JGVucXVpcnktZ3V0dGVyfSkgY2FsYyg1MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgLy8gRGVmaW5pbmcgdGhlIGdyaWQgdGhhdCBnZXRzIHVzZWQgZm9yIHRoZSBidWxrIG9mIHRoZSBkZXRhaWxzLlxyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBpbnNpZGUgb2YgcHJvZHVjdCBlbnF1aXJ5IGRldGFpbHMgdGhlbiBkb24ndCBncm93IG90aGVyd2lzZSB0aGlzIGNvdWxkIHB1c2ggY29udGVudCBkb3duIHdoZW4gbWF0Y2hpbmcgdGhlIGhlaWdodCBvZiB0aGUgbWVkaWEgY29udGVudCBjb250YWluZXIgZS5nIGlmIHRoZSByZWZlcmVuY2VzIGlzIHVuZGVyIHRoZSBjYWxsYmFjayBjb250YWluZXIgdGhlIHJlZmVyZW5jZXMgd2lsbCBiZSBwdXNoZWQgZG93biBjYXVzaW5nIGEgbGFyZ2UgZ2FwLlxyXG4gICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhpcyBtb2R1bGUgZG9lcyBub3QgY29udGFpbmVyIGFueSBjaGlsZHJlbiB0aGVuIGRpc3BsYXk6IG5vbmU7IG90aGVyd2lzZSB0aGUgZ3JpZCBnYXAgaXMgc3RpbGwgcmVwcmVzZW50ZWQuXHJcbiAgICAgICAgJjpub3QoOmhhcygqKSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBociB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGluZyBmb3IgdGhpcyBzcGVjaWZpYyB0byB0aGlzIGFyZWEuXHJcbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIC5zaGFyZS1idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBhZ2UgSGVhZGluZyAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgIC5wcm9kdWN0LWVucXVpcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCBzZWxlY3Rpb24gLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFF1YW50aXR5IHNlbGVjdGlvbiAtLS1cclxuLnF1YW50aXR5LW1vZHVsZSwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcXVhbnRpdHktc2VsZWN0b3ItbGFiZWwoKTtcclxuICAgIH1cclxuICAgIC5zZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuXHJcbiNtYWluLXByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAvLyAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAucXVhbnRpdHktbW9kdWxlIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy8gICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIC8vICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAubGFiZWwge1xyXG4gICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgLy8gICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAvLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgIC8vICAgICAgICAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgIC8vICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgLy8gICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1tYXJnaW4sIHNtYWxsKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvL3dpZHRoOiAkcHJvZHVjdC1pbWFnZS13aWR0aDtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2UtbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICAgIH1cclxuICAgICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcblxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAuc2xpZGUge1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtcHJldixcclxuICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbGQgcnVsZXMsIHRoZXNlIHdpbGwgZXZlbnR1YWxseSBiZSBzdXBlcnNlZGVkIGJ5IHRoZSBuZXcgcHJvZHVjdCBlbnF1aXJ5IHJ1bGVzIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSA4MjM5NDNcclxuI21haW5JbWFnZUNvbnRhaW5lciB7XHJcbiAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC8vIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAvLyAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAjeyhzcGFjaW5nLXZhbHVlKCRwYWdlLWd1dHRlciwgMikgKiAyKX0gLSAjeyhzcGFjaW5nLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycywgMikgKiAyKX0pO1xyXG4gICAgLy8gICAgIGhlaWdodDogY2FsYygxMDB2dyAtICN7KHNwYWNpbmctdmFsdWUoJHBhZ2UtZ3V0dGVyLCAyKSAqIDIpfSAtICN7KHNwYWNpbmctdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzLCAyKSAqIDIpfSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDU1MHB4O1xyXG4gICAgICAgIC8vIGhlaWdodDogNTUwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAvLyBNb3ZlZCB0byBheGlzLWxpZ2h0Ym94LnNjc3NcclxuICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIC8vICAgICBwYWRkaW5nOiAzcHggMTJweDtcclxuICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5vdmVybGF5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoKTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTUwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgLy8gRHVlIG5vdCBrbm93aW5nIHdoYXQgc2l6ZSBpbWFnZSB3ZSBjb3VsZCBnZXQgdGhlbiBhc3NpZ24gYSBtaW4gd2lkdGggJiBoZWlnaHQgdG8gc2NhbGUgdGhlIGltYWdlIHVwIHNsaWdodGx5LCBldmVuIHRob3VnaCBpdCB3aWxsIGJlIGxvdyBxdWFsaXR5IGl0IGlzIHN0aWxsIGJldHRlciB0aGFuIGhhdmluZyBhIGJhcmVseSBub3RpY2FibGUgaW1hZ2UsIGlmIHVzaW5nIHRoZSBtYWduaWZpY2F0aW9uIGxpYnJhcnkgdGhlbiB0aGlzIHdpbGwgYmUgc2NhbGVkIGFnYWluLiBXaGVuIGFkanVzdGluZyB0aGVzZSB2YXJpYWJsZXMga2VlcCBpbiBtaW5kIHdlIG5lZWQgdG8gc3VwcG9ydCBtaXhlZCBhc3BlY3QgcmF0aW8gaW1hZ2VzLlxyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuICAgICYgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcclxuICAgICAgICAmOmhhcyhpbWcpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBIaWdobGlnaHRlZCBCYW5uZXJzIC0tLS0tLVxyXG4vLyBUT0RPOiBPTEQgV0FZIE9GIEhBTkRMSU5HIFRISVMgQ0FOIEJFIFJFTU9WRUQgT05DRSA4MjM5NDMgQ09NUExFVEVEXHJcbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoMzMlIC0gMTVweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAxMnB4O1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgIGdhcDogMTBweDtcclxuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBSZWZlcmVuY2UsIFBhcnQgQ29kZSwgQWx0IFJlZiAtLS0tLS1cclxuLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcbi5wYXJ0LWNvZGUtY29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtY29kZS1mb250LXNpemUpO1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG91cjtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWNvZGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmcpO1xyXG4gICAgZ2FwOiAxMHB4IDI1cHg7XHJcbiAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIExhYmVsICsgVmFsdWUgUGFpciAtLS0tLS1cclxuLy8gR2VuZXJpYyBjb250YWluZXIgdXNlZCB0byBkaXNwbGF5IHNtYWxsIHBpZWNlJ3Mgb2YgZGF0YSB3aXRoIGEgbGFiZWwgYXMgYSBwcmVmaXguXHJcbi5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtcztcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmFsdWUge1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGJ1dHRvbiwgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdCB7XHJcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgLy9SZW1vdmUgcXVhbnRpdHkgc2VsZWN0b3IgbGFiZWwgZm9yIHNsaWRlci5cclxuICAgIC5zbGlkZSAubGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICB9XHJcblxyXG4gICAgI3Byb2R1Y3Qtbm90ZXMge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW5vdGVzLWhlYWRpbmctc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3Qtbm90ZXMtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3Qtbm90ZXMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvZHVjdC1yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJiZWQtcmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1hbHQtb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcm91c2VsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luKTtcclxuICAgIG9yZGVyOiA0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMjtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuICAgICAgICAmICsgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAmLmhhei1jYXQtdG94aWMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1nYXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWNvbXByZXNzZWQtZ2FzLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1jb3Jyb3NpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWNvcnJvc2l2ZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZW52aXJvbm1lbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWV4cGxvc2l2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZXhwbG9zaXZlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1mbGFtbWFibGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWZsYW1tYWJsZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtb3pvbmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LW94aWRpc2luZyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtb3hpZGlzaW5nLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1oZWFsdGgge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLXNlcmlvdXMtaGVhbHRoLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHg7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29ucy1jb250YWluZXIsIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gR2VuZXJpYyBtdWx0aS1saW5lIGNvbnRhaW5lciAtLS0tLVxyXG4vLyBVc2VkIGZvciBpbmZvcm1hdGlvbiBzdWNoIGFzIG5vdGVzICYgc3BlY2lmaWNhdGlvbnMuXHJcbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAubXVsdGktbGluZS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICBoMiwgaDMsIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm11bHRpLWxpbmUtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgdWwsIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcm9kdWN0LW5vdGVzIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYWRkaW5nOiAwIDAgI3skcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZ307XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogI3skcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZ307XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKC5yZWFkLW1vcmUtY29udGVudCkpIHtcclxuICAgICAgICAgICAgICAgICAvLyBUaGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0aGUgSmF2YVNjcmlwdCBvbmNlIGluaXRpYWxpc2VkLlxyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTcGVjaWZpY2F0aW9uICAoIGJ1bGxldCBsaXN0ICkgLS0tXHJcbiNzcGxpdC1zcGVjaWZpY2F0aW9uIHtcclxuICAgIHVsIHtcclxuICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgfVxyXG4gICAgbGksIHAsIGEsIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkc3BlY2lmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3BlY2lmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHNwZWNpZmljYXRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuLnNwbGl0LXNwZWNpZmljYXRpb24ge1xyXG4gICAgcGFkZGluZzogMjBweCAwOyAgXHJcbn1cclxuXHJcbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBwcmljZSgpO1xyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICoqIERvIG5vdCBzZXQgd2lkdGggb3RoZXJ3aXNlIHRoaXMgd2lsbCBjYXVzZSBzdG9ja2xpbmUgcHJpY2UgdG8gcHJlLW1hdHVyZWx5IHdyYXAsIHJldmVyc2luZyB0aGlzIGNoYW5nZSBmb3Igd2hvbGVzYWxlIGFzIHRoZWlyIG92ZXJhbCBwcmljZSBzdHlsaW5nIGlzIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRvIG90aGVyIGV4cHJlc3Mgc2l0ZXMuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJpY2VzIG9yZGVyaW5nLlxyXG4gICAgLnJycCB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFjay1wcmljZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnBhY2stc2l6ZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFjay1pdGVtLXByaWNlIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zYXZpbmcge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZztcclxuICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgIH1cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIFVzZSB0aGUgb2xkIHN0eWxpbmcgcHJlLXByb2R1Y3QgcGFnZSByZWZhY3Rvci5cclxuICAgICAgICB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBnYXA6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1vcHRpb25hbC1leHRyYXMtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY29kZS1jb2wge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nLCAjcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEZhdm91cml0ZXMgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciB7XHJcbiAgICAuZmF2b3VyaXRlcyB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBRdWFudGl0eSBQcmljZSBCcmVhayBNb2R1bGUgLS0tLS0tXHJcbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAwIDQwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcikge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLXNhdmUtYW1vdW50LWNvbG91cjtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1tYXJnaW47XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgcGFkZGluZyB0byBicmluZyBoZWFkaW5nIHRleHQgaW4gY2xvc2VyIGFzIGl0IHdhcyBsb29raW5nIGEgYml0IGRpcy1qb2ludGVkIHdpdGggdGhlIHRhYmxlIGNvbnRlbnQgKCB0aGlzIGlzIHN0eWxlZCBjb21wbGV0ZWx5IGRpZmZlcmVudCBmb3IgZWdwbCApLlxyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgdGFibGUgcHJlc2V0LTEgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXN1cHByZXNzLWhlYWRlci1nYXApIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICYuc2F2aW5ncy1jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1zYXZpbmctY29sLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtcGVyLWl0ZW0tY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNhdmluZ3MtY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFByb2R1Y3QgZW5xdWlyeSBwcmljaW5nIC0tLSBcclxuLy8gU2luZ2xlIGl0ZW1cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XHJcbiAgICAtLXByaWNlLW1heC13aWR0aDogI3tzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7bWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje2xhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdG9ja2xpbmVzIC8gR3JvdXBcclxuLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcclxuICAgIC8vIEJlY2F1c2UgdGhlcmUgaXMgc3VjaCB2YXJpYXRpb24gaW4gcHJpY2luZyBnb2luZyB3aXRoIGEgbW9yZSBmcmVlLWZvcm0gYXBwcm9hY2guXHJcbiAgICAtLXByaWNlLW1heC13aWR0aDogMWZyO1xyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcclxuICAgIC5wcmljZXMgLnByaWNlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje3NtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCB2YXIoLS1wcmljZS1tYXgtd2lkdGgpKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgJGd1dHRlcnM6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIpIC8gMik7XHJcbiAgICAgICAgICAgIC8vIFNldCAxOTBweCBhcyBtaW4gc2l6ZSB0byBhbGxvdyBmb3IgMiBjb2x1bW4gdGFibGV0IHZpZXcuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3ttZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtICN7JGd1dHRlcnN9KSkpO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAkZ3V0dGVyczogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMiwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgIC8vIFNldCAxOTBweCBhcyBtaW4gc2l6ZSB0byBhbGxvdyBmb3IgMiBjb2x1bW4gdGFibGV0IHZpZXcuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gI3skZ3V0dGVyc30pKSk7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1ncm91cC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIElmIHRoaXMgbW9kdWxlIGRvZXMgbm90IGNvbnRhaW5lciBhbnkgY2hpbGRyZW4gdGhlbiBkaXNwbGF5OiBub25lOyBvdGhlcndpc2UgdGhlIGdhcCArIHNlcGVyYXRvciBpcyBzdGlsbCBzaG93biwgOmVtcHR5IGRvZXNuJ3Qgd29yayBoZXJlIGFzIHRoYXQgZG9lc24ndCBpbmNsdWRlIHdoaXRlc3BhY2UuXHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpoYXMoICsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYygje3NwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMSl9IC8gMiAqIC0xKTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRsYXJnZXItbW9iaWxlLWJyZWFrcG9pbnQ6IChzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpICogMikgKyBzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIpICsgJGdyaWQtY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIC8vIEJlc3Bva2UgYnJlYWtwb2ludCBhcyB0aGlzIHJ1bGUgY2hhbmdlcyBtaWQgbW9iaWxlIGJyZWFrcG9pbnQgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlci1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgJjpoYXMoICsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7c3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyLCBtZWRpdW0pfSAvIDIgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJi5ycnAsICYuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnJycCArIC5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcmljZSwgJi5ncm91cC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmUgaW5jb25zaXN0ZW50IHdpdGggb3RoZXIgcHJpY2luZyBhbmQgYWxsb3cgdGhlIHZhbHVlIHRvIGFsaWduIHRvIHRoZSBsZWZ0IGR1ZSB0byB0aGUgZm9udC1zaXplLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudmF0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIHtcclxuICAgIC5jYXNlLXByaWNlIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtY2FzZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEBpbmNsdWRlIHByaWNlKCk7XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1jb3VudGRvd24tY29udGFpbmVyIFtkYXRhLWNvdW50ZG93bi10aW1lXSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbiNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7IFxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJi5hY3RpdmUgIHtcclxuICAgICAgICAgICAgLnRodW1ibmFpbCBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtYWN0aXZlLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBhY3RpdmUtY2xpY2spO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoODAlLCA1NXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnZpZGVvLXRodW1ibmFpbCBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcclxuICAgIH1cclxuICAgID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJHByb2R1Y3QtZ3JvdXBlZC1zZWNvbmQtaXRlbS1ib3JkZXItdG9wO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhLCA+IHNwYW4sID4gcCwgPiBkaXYgeyBcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQge1xyXG4gICAgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBzbWFsbCkgIC8gMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKSAgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKSAgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE1vYmlsZSBsYXlvdXQuXHJcbiAgICAuc21hbGwtdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGFibGV0IGxheW91dC5cclxuICAgIC5tZWRpdW0tdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGVza3RvcCBsYXlvdXQuXHJcbiAgICAubGFyZ2UtdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gU3RvY2sgbGluZXMgLS0tLS0gXHJcbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXApO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC5jb250cm9sIHtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRzdG9ja2xpbmUtYXR0cmlidXRlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN0b2NrbGluZS1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIHVuYXZhaWxhYmxlKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN0b2NrbGluZS1vcHRpb24tY29sb3VyLCB1bmF2YWlsYWJsZSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCwgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgY29sb3I6ICRzdG9ja2xpbmUtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrbGluZS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2tsaW5lLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGUtZGlzcGxheSB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZS1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZ2V0cyBjYWxsZWQgaW4gQGNtcy1saXN0cyB3aGljaCBnZXRzIGNhbGxlZCBpbiB0aGUgYWNjb3JkaW9uLXRhYnMgc3R5bGVzLlxyXG4vLyAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciwgLnRhYmJlZC1jbXMtZW50cnkge1xyXG4vLyAgICAgdWwge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbiNwcm9kdWN0LWluZm8tbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVGFicyAvIEFjY29yZGlvbiBhcmVhIC0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDM1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByZXZpb3VzbHkgcHVyY2hhc2VkIC0tLSBcclxuLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luKTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgYm9yZGVyOiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItd2lkdGggc29saWQgJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLWNvbG91cjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJhY2tncm91bmQ7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCkgPT0gXCJjZW50ZXJcIikge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWV3LW9yZGVyLWxpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItNCwgMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC12aWV3LW9yZGVyLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvL21hcmdpbjogMCAwIDAgKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWl0ZW0tc3BhY2luZyAqIDIuMSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIC8vIEJhc2ljYWxseSB0aGlzIGlzIGEgaGVhZGluZyByb3cuXHJcbiAgICAgICAgICAgICZbY29sc3Bhbj1cIjJcIl0ge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJG1nYzogcmVtLWNhbGMoJG1nKTtcbiAgICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAkbWdjOiAwcmVtO1xuICAgIH1cbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ2N9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8tLS0tLSBCYXNrZXQgLS0tLS0gXHJcbi8vIFRPRE86IFRoaXMgY291bGQgZG8gd2l0aCBiZWluZyByZW1vdmVkIGF0IHNvbWUgcG9pbnQuXHJcbiRiYXNrZXRIZWFkQm9yZGVyQ29sb3VyOiAkY29sb3VyMy0zO1xyXG4kYmFza2V0Qm9keUZvbnRTaXplOiAxNHB4O1xyXG4kYmFza2V0Qm9keURlc2NyaXB0aW9uRm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5UXVhbnRpdHlGb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlTdWJUb3RhbEZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keUNvbG91cjogJGNvbG91cjMtMztcclxuJGJhc2tldEJvZHlDb2RlQ29sb3VyOiAkYmFza2V0Qm9keUNvbG91cjtcclxuJGJhc2tldEJvZHlRdWFudGl5Q29sb3VyOiAkYmFza2V0Qm9keUNvbG91cjtcclxuJGJhc2tldEJvZHlSZW1vdmVDb2xvdXI6ICRjb2xvdXIzLTM7XHJcblxyXG4jYmFza2V0LWZvcm0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LXRhYmxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIG9yZGVyLXRhYmxlKCk7XHJcbiAgICAvLyBTdXBwcmVzcyBtb2JpbGUgbGFiZWxzIGFzIHRoZXkncmUgbm90IHJlYWxseSByZXF1aXJlZC5cclxuICAgIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sLCAuYmFza2V0LWNvZGUtY29sLCAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5pbWFnZS1jb2wpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgZ3JpZC1yb3c6IHNwYW4gNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGJvZHktYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29kZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcclxuICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDQ7XHJcbiAgICB9XHJcbiAgICAuYWRkLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTguOSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZFRvQmFza2V0Lmljb24sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQmFza2V0IHRhYmxlIHN0eWxlcy5cclxuLy8gdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IuXHJcbnRhYmxlLmJhc2tldC10YWJsZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBydWxlIHNldCBieSAjYmFza2V0LXRhYmxlIGFzIG5ldyBkZXNpZ24gODIxMjI5IGNhbGwncyBmb3IgbGFiZWxzLlxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSW1wbGVtZW50aW5nIGEgbmVzdGVkIGdyaWQsIHRoaXMgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yIGFzIHRoZSBpbWFnZSBzaG91bGQgaGF2ZSBpdHMgb3duIGNvbHVtbi5cclxuICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XHJcbiAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUaGlzIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3RvciBhcyB0aGUgZ3JpZCB3aWxsIGRpY3RhdGUgdGhlIHNpemUgb2YgdGhlIHRpbWUgaW1hZ2UuXHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgbmVlZCB0byBmaXQgdGhlIGltYWdlIGV4YWN0bHkgZHVlIHRvIGFwcGx5aW5nIGEgd2hpdGUgYmFja2dyb3VuZCBmb3IgcG5nIGltYWdlcy5cclxuICAgICAgICAgICAgLy8gSGFja3kgYnV0IGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3Rvci5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XHJcbiAgICAgICAgICAgIGdhcDogJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCwgLmJhc2tldC1wcmljZS1jb2wsIC5iYXNrZXQtcXVhbnRpdHksIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4geyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXJhdGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA2O1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LXN0aWNreS1zdW1tYXJ5LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNiYXNrZXQge1xyXG4gICAgLmJhc2tldC1pdGVtLXJvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGVsaXZlcnkgQXJlYSBTZWxlY3RvclxyXG4gICAgI2Jhc2tldC1kZWxpdmVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2tldC1kZWxpdmVyeS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICRiYXNrZXQtZGVsaXZlcnktYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1kZWxpdmVyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtZGVsaXZlcnkpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtZGVsaXZlcnktaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICY6aGFzKC5zZXBlcmF0b3I6bm90KDplbXB0eSkpIHtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgICYuaW52YWxpZCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tcGFkZGluZywgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBhZ2UtYnV0dG9uLWJvcmRlci1jb2xvdXIsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXNpemUsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXdlaWdodCwgKHdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCkpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAjY29udGludWUtc2hvcHBpbmctYnV0dHRvbiB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDIzMHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0ge1xyXG4gICAgJiArIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgJi52b3VjaGVyIHtcclxuICAgICAgICBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtdm91Y2hlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52YXQge1xyXG4gICAgICAgIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC12YXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1jb250YWluZXItbWFyZ2luO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm8td3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1pbnZhbGlkLWNvbnRhaW5lciArIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW5wdXQge1xyXG4gICAgICAgIGhlaWdodDogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3VtbWFyeS1pbnB1dC1zdWJtaXQge1xyXG4gICAgICAgICYuYXBwbHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTJweCwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXIsICgpLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZSwgXCJcIiwgKHdpZHRoOiBhdXRvKSwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVtb3ZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEycHgsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtcmVtb3ZlLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91ciwgKCksICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplLCBcIlwiLCAod2lkdGg6IGF1dG8pLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTdW1tYXJ5IHdhcm5pbmcgY29udGFpbmVyIC0tLSBcclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAud2FybmluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG4ud2FybmluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuJGJhc2tldC1jb250cm9scy1nYXA6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKTtcclxuXHJcbiNiYXNrZXQtY29udHJvbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDIwcHggMCAzNXB4O1xyXG4gICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwLCAxKSAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IDI1cHggMCA1MHB4O1xyXG4gICAgICAgIGdhcDogc3BhY2luZy12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCwgMSwgbGFyZ2UpIDA7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXBkYXRlLWJhc2tldCB7XHJcbiAgICAgICAgJGJhc2tldC11cGRhdGUtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVwZGF0ZSksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6IChcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICAgICAgICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIpXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgICAgICAgICAgc2l6ZTogJGJhc2tldC11cGRhdGUtaWNvbi1zaXplLCAgXHJcbiAgICAgICAgKTtcclxuICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC11cGRhdGUtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1iYWNrZ3JvdW5kLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyLCAoKSwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWZvbnQtc2l6ZSwgJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmVtcHR5LWJhc2tldCB7XHJcbiAgICAgICAgJGJhc2tldC1lbXB0eS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6IChcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICAgICAgICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXNrZXQtcm0tYWxsLWNvbG91ciksXHJcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1ybS1hbGwtY29sb3VyKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICAgICAgICAgIHNpemU6ICRiYXNrZXQtcmVtb3ZlLWJ1dHRvbi1pY29uLXNpemUsICBcclxuICAgICAgICApO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMHB4IDMwcHgsICRiYXNrZXQtcm0tYWxsLWJhY2tncm91bmQsICRiYXNrZXQtcm0tYWxsLWNvbG91ciwgKCksICRiYXNrZXQtcmVtb3ZlLWFsbC1mb250LXNpemUsICRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRiYXNrZXQtZW1wdHktYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb24pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhc2tldC10b3RhbC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFza2V0LXRvdGFsLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtdG90YWwtZm9udC1zaXplKTtcclxuICAgIEBpZiAoJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3RpY2t5IHN0eWxlcy5cclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvL2Rpc3BsYXk6IGZsZXg7XHJcbiAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAkYmFza2V0LXN1bW1hcnktcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigkYmFza2V0LXN1bW1hcnktYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0aWNreS5cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hbmNob3JlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5pcy1hdC10b3Age1xyXG4gICAgICAgICAgICAvLyBJbiBzb21lIGluc3RhbmNlcyB3aGVuIHJldHVybmluZyB0byB0aGUgYmFza2V0IGZyb20gYW5vdGhlciBwYWdlIHdoZW4gb25seSBvbmUgaXRlbSBpcyBpbiB0aGUgYmFza2V0IHRoZSBzdGlja3kgcGx1Z2luIHdvdWxkIGFzc2lnbiB0aGUgbWFyZ2luLXRvcCB2YWx1ZSBldmVuIHdoZW4gaXQgc2hvdWxkIGJlIGFuY2hvcmVkIHRvIHRoZSB0b3Agb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjdm91Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAjbmV0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDExO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgI3ZvdWNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3JkZXI6IDg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNuZXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA3O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpZiAoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAkY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI7XHJcbiAgICAgICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaGlnaGxpZ2h0ZWQtaXRlbS1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICYudmFsdWUsICYubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmluY1ZhdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LXRvdGFsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LXRvdGFsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDMwcHggN3B4IDAgMDtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZGVsaXZlcnktc2VsZWN0b3Ige1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICBzZWxlY3QsIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5kZWxpdmVyeS1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRlbGl2ZXJ5LXNlcnZpY2UsIC5kZWxpdmVyeS1hcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVsaXZlcnktc2VydmljZSB7XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuXHJcbi8vIC0tLS0tIFlvdXIgQWNjb3VudCBwYWdlIC0tLS0tXHJcblxyXG4ubGluay1mYWlsZWQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAubGluay1mYWlsZWQtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICBjb2xvcjogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAucHJpbWFyeS1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgIC8vIERlZmF1bHQgaWNvbi5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRlZmF1bHQtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VzdG9tZXItYXNzZXRzLCAmLmZ1bmN0aW9uLTEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIsICYuZnVuY3Rpb24tMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGJyYW5jaC1zd2l0Y2hlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FsbHMsICYuZnVuY3Rpb24tMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS1jYWxscyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlscywgJi5mdW5jdGlvbi00IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udGFjdC1wcmVmZXJlbmNlcywgJi5mdW5jdGlvbi01IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY29udGFjdC1wcmVmZXJlbmNlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250cmFjdC1pdGVtcywgJi5mdW5jdGlvbi02IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY29udHJhY3QtaXRlbXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VydmljZS1jb250cmFjdHMsICYuZnVuY3Rpb24tNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNlcnZpY2UtY29udHJhY3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MsICYuZnVuY3Rpb24tOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFsc28gc3VwcG9ydCBmb3IgdmVyc2lvbiBpZiBuZWVkZWQsIHRoaXMgd2lsbCBiZSBhZGRlZCB1c2luZyBhbiBhZGRpdGlvbmFsIGNsYXNzIC52ZXJzaW9uLXguXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub25saW5lLWRvY3VtZW50YXRpb24sICYuZnVuY3Rpb24tMTAsICYuZnVuY3Rpb24tMzQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBvbmxpbmUtZG9jdW1lbnRhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmF2b3VyaXRlcywgJi5mdW5jdGlvbi0xMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGZhdm91cml0ZXMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qb2JzLCAmLmZ1bmN0aW9uLTEyIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0LCAmLmZ1bmN0aW9uLTEzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbG9nb3V0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJi5uZXdzLCAmLmZ1bmN0aW9uLTE0IHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmlldy1vcmRlcnMsICYuZnVuY3Rpb24tMTUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCB2aWV3LW9yZGVycyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkcywgJi5mdW5jdGlvbi0xNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXltZW50LXJlcXVlc3RzLCAmLmZ1bmN0aW9uLTE4IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgcGF5bWVudC1yZXF1ZXN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb3dubG9hZC1wcmljZS1saXN0cywgJi5mdW5jdGlvbi0xOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnF1ZXN0aW9ubmFpcmVzLCAmLmZ1bmN0aW9uLTIwIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVjZW50bHktcHVyY2hhc2VkLCAmLmZ1bmN0aW9uLTIxIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgcmVjZW50bHktcHVyY2hhc2VkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtbGlzdCwgJi5mdW5jdGlvbi0yMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNpdGUtbGlzdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtd2ViLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncywgJi5mdW5jdGlvbi0yMyB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0YXRlbWVudCwgJi5mdW5jdGlvbi0yNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHN0YXRlbWVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaXN0b3JpY2FsLXRyYW5zYWN0aW9ucywgJi5mdW5jdGlvbi0yNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1iYXNrZXQsICYuZnVuY3Rpb24tMjYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBiYXNrZXQtdXBsb2FkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1vcmRlcnMsICYuZnVuY3Rpb24tMjcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBvcmRlci11cGxvYWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLXVzZXJzLCAmLmZ1bmN0aW9uLTI4IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLXVzZXJzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVtcGxveWVlLXN0YXR1cywgJi5mdW5jdGlvbi0yOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGVtcGxveWVlLXN0YXR1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2UsICYuZnVuY3Rpb24tMzAge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE1pY3Jvc29mdCBTdWJzY3JpcHRpb25zLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtaWNyb3NvZnQtc3Vic2NyaXB0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lQnJhbmRzO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ2FsbCBTdGF0aXN0aWNzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjYWxsLXN0YXRpc3RpY3MpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWdncmVnYXRlZCBBc3NldHMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBWaWRlb3MuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmVjZW50IHNvZnR3YXJlIHVwZGF0ZXMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSG93IG11Y2ggc2hvdWxkIHdlIHNjYWxlIHRoZSBpY29ucyB3aGVuIG5lc3RlZCBpbiBhIG1lbnUuXHJcbiRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlOiAxLjU7XHJcblxyXG4ubWVudSB7XHJcbiAgICAvLyBJZiBpbnNpZGUgb2YgYSBtZW51IHRoZW4gc2NhbGUgaWNvbnMgZG93bi5cclxuICAgIC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAucGFnZS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGVmYXVsdCkgLyAkYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKSAvICRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAzNXB4IDAgMjBweDtcclxufVxyXG5cclxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIC8vIENhbnQgdXNlIGZvdW5kYXRpb24ncyBncmlkIGFzIHggJiB5IGd1dHRlcnMgYXJlIG5vdCBlcXVhbCBpbiB0aGUgZGVzaWduLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICYuc2l0ZS1zdHlsZSB7XHJcbiAgICAgICAgICAgIC8vIEVuZm9yY2UgQnJhbmRpbmcgZnJvbSBzaXRlIHN0eWxlLlxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAjeygkYWNjb3VudC1zZWN0aW9uLWl0ZW0tcGFkZGluZyAtICRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGgpfTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGggc29saWQgZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAje2hvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXIpfTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgLy8gU2hyaW5rIHRoZSBkZXNjcmlwdGlvbiB0byBmaXQgaW4gYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodCwgYWNjb3VudC1wYWdlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAje2RlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cil9O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBGdW5jdGlvbiBzcGVjaWZpYyBydWxlcy5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGVmYXVsdCk7XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzLCAmLmZ1bmN0aW9uLTQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzLCAmLmZ1bmN0aW9uLTE3IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tOSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTM1IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQsICYuZnVuY3Rpb24tMjkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBsb2dvdXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudSB7XHJcbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2FjY291bnQtcGFnZS1ncmlkIHtcclxuICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LXBhZ2UtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogJGFjY291bnQtcGFnZS1pdGVtLWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWljb24ge1xyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udHJhY3QtaXRlbXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNvbnRyYWN0LWl0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mYXZvdXJpdGVzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBmYXZvdXJpdGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi52aWV3LW9yZGVyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdmlldy1vcmRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgcmVjZW50bHktcHVyY2hhc2VkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RhdGVtZW50OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBzdGF0ZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS11c2VyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLXVzZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtc3dpdGNoZXI6YmVmb3JlLCAmLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGJyYW5jaC1zd2l0Y2hlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY29udGFjdC1wcmVmZXJlbmNlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtYmFza2V0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB1cGxvYWQtYmFza2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtb3JkZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB1cGxvYWQtb3JkZXIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBsb2dvdXQpO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYubWFuYWdlLWNhbGxzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtY2FsbHMpO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYuc2VydmljZS1jb250cmFjdHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHNlcnZpY2UtY29udHJhY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdXN0b21lci1hc3NldHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5bWVudC1yZXF1ZXN0cyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBwYXltZW50LXJlcXVlc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb3dubG9hZC1wcmljZS1saXN0cyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1saXN0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2Uge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbmxpbmUtZG9jdW1lbnRhdGlvbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG9ubGluZS1kb2N1bWVudGF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogJGFjY291bnQtc29ydGluZy1tYXJnaW47XHJcbiAgICB9XHJcbiAgICAuc29ydC1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6XHJcbiAgICAgICAgICAgIGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1maWx0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2VsZWN0LCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYWdpbmF0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuaXRlbS1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLmxhYmVsLCAucGFnaW5hdGlvbkxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuXHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAuc29ydC1ieS1kYXlzLXNlbGVjdCB7IFxyXG4vLyAgICAgbWluLXdpZHRoOiAxNzBweDtcclxuLy8gfVxyXG5cclxuLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMjM1cHg7XHJcbiAgICB9XHJcbiAgICAmLmNlbnRlci1idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBWaWV3IE9yZGVyIC0tLS0tIFxyXG4ub3JkZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH0gXHJcbiAgICAmICsgLnJlc3BvbnNpdmUtdGFicyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUGF5cGFsIGNoZWNrb3V0IGNvbmZpcm1hdGlvbi5cclxuICAgICYucGF5bWVudC1jb25maXJtYXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyhzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcikgLyAyKX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICNvcmRlci10YWJsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5NzBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAjb3JkZXItdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG9yZGVyLXRhYmxlKCk7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMjVweDtcclxuICAgIH1cclxuICAgICNiYXNrZXQtc3VtbWFyeSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcmVzc2luZyBhcyB0aGlzIGNhbiBiZSBkb25lIHVzaW5nIGdhcCBzcGFjaW5nIGluIGZsZXhib3guXHJcbiAgICAvLyAub3JkZXItZGV0YWlscyArIC5vcmRlci1kZWxpdmVyeSB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyAuc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgICNiYXNrZXQtc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnksIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiA1cHggMDtcclxuICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZywgc21hbGwpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGgpO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgIH1cclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgIC5vcmRlci1kZXRhaWwtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnLCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXllci1kZXRhaWxzIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZylcclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnktaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDAgNXB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgIGJvcmRlci1ib3R0b206ICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSBzb2xpZCAjeyRoZWFkaW5nLXJ1bGUtY29sb3VyfTtcclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBhLmVkaXQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGV0YWlsLWl0ZW0tY29udGFpbmVyLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBpbmZhdm91ciBvZiB0aGUgZ2FwIHByb3BlcnR5LlxyXG4gICAgLy8gbWFyZ2luOiA1cHggMDtcclxuICAgIC8vIElmIG5vIHZhbHVlIHRoZW4gc3VwcHJlc3MgYWx0b2dldGhlci5cclxuICAgICY6aGFzKD4gcDplbXB0eSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAvLyBBbGwgYW5jaG9yJ3Mgc2hvdWxkIGFwcGVhciBvbiBhIG5ldyBsaW5lIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIGFkZHJlc3Mge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgIC5jdXJyZW50LXByaWNlLXNhdmluZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpY2UtZHJvcC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJpY2UtZHJvcC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZHJvcC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByaWNlLWRyb3AtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZGQnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1kcm9wLWFycm93LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcHJlc3Npbmcgd2lkdGggb24gdGhlIGNvbnRhaW5lciBpcyBub3QgYW4gb3B0aW9uIGR1ZSB0byBmb3VuZGF0aW9uJ3MgZ3JpZCB1c2luZyByZWxhdGl2ZSB2YWx1ZXMgd2hlbiBjYWxjdWxhdGluZyBjZWxscyB3aGljaCBjYXVzZXMgdGhlIGNlbGxzIHRvIHNocmluayBpZiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZml0IGEgcm93LlxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7c21hbGwtdmFsdWUoJGdyaWQtbWFyZ2luLWd1dHRlcnMpfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7bWVkaXVtLXZhbHVlKCRncmlkLW1hcmdpbi1ndXR0ZXJzKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3VwcHJlc3NpbmcgZHVlIHRvIHN0b3BwaW5nIHRoZSBoZWlnaHQgZnJvbSBtYXRjaGluZyBnZW5lcmFsIC8gZGVsaXZlcnkgZGV0YWlscyBvbiB0aGUgdmlldyBvcmRlciAvIGNvbnRyYWN0IGVucXVpcnkgcGFnZXMuXHJcbi8vICNiYXNrZXQtc3VtbWFyeS5yZWFkLW9ubHkge1xyXG4vLyAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XHJcbi8vIH1cclxuXHJcbi8vIFJlcXVpc2l0aW9uIGJ1dHRvbnNcclxuLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBEZWxpdmVyeSBFbnF1aXJ5IC0tLS0tIFxyXG4ucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1hbmFnZSBVc2VycyAtLS0tLSBcclxuLnVzZXJzLWZvdW5kLWNvdW50IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1mb3VuZC1mb250LXNpemUpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBjb2xvcjogJHVzZXJzLWZvdW5kLWNvdW50LWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiN1c2Vycy10YWJsZSB7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtdGJvZHktZm9udC1zaXplKTtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHVzZXJzLXRib2R5LWNvbnRhY3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICR1c2Vycy10Ym9keS1jb250YWN0LWNvbG91cjtcclxuICAgIH1cclxuICAgIC51c2Vycy1hY2NvdW50LWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtZW1haWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWRlbGV0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAudXNlcnMtZW1haWwtY29sLCAudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAvLyB9XHJcbiAgICAudXNlcnMtZGVsZXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZW1vdmUtdXNlci1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZW1vdmUtdXNlci1idXR0b24ge1xyXG4gICAgd2lkdGg6ICRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucztcclxuICAgIGhlaWdodDogJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnMgLyAxLjEpKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBWaWV3IC8gRWRpdCB1c2VyIC0tLSBcclxuLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAucHJpbWFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGVydGlhcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuI3NlbGVjdC1icmFuY2hlcy10YWJsZSB7XHJcbiAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmFuY2gtY29sIHtcclxuICAgICAgICBcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXBvcHVwLXRhYmxlLWJyYW5jaC1jb2wtZm9udC1zaXplKTtcclxuICAgIH1cclxuXHJcbiAgICAuYWxsb3ctbG9naW4tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWFuYWdlIFBheW1lbnQgQ2FyZHMgLS0tLS0gXHJcbiN0b2tlbnMtdGFibGUucGF5bWVudCB7XHJcbiAgICAvLyAuY2FyZC1zZWxlY3QtY29sIHtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIC8vIH1cclxuICAgIC5jYXJkLXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5jYXJkLW51bWJlci1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG5cclxufVxyXG5cclxuI3Rva2Vucy10YWJsZSwgLnRva2Vucy10YWJsZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC8vIH1cclxuICAgIHRyIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmQtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1leHBpcmVkIHtcclxuICAgICAgICAgICAuY2FyZC10eXBlLWNvbCwgLmNhcmQtbnVtYmVyLWNvbCwgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87IFxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuY2FyZC10eXBlLWNvbCwgLmNhcmQtbnVtYmVyLWNvbCwgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7ICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuY2FyZC1zZWxlY3QtY29sIHtcclxuICAgICAgICAucmFkaW8ge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0b2tlbnMtdGFibGUtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdG9rZW5zLXRhYmxlLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdGVkLWNhcmQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcbi5uby10b2tlbnMtZm91bmQge1xyXG4gICAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xyXG4gICAgfVxyXG4gICAgLm5vLXRva2Vucy1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheW1lbnQtY2FyZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY1KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGF5bWVudC1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbi5tb2RhbC1jb250YWluZXJbdHlwZT1zZWxlY3QtcGF5bWVudF0ge1xyXG4gICAgI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcclxuICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zYXZlLWNhcmQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuI3BheW1lbnQtZnJhbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFN0YXRlbWVudCBQYWdlIC0tLS0tIFxyXG4uc3RhdGVtZW50LWxpc3QtY29udGFpbmVyLCAuc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xyXG4gICAgJi5pbi1hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG4uc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHN0YXRlbWVudC1iYWxhbmNlLWNvbG91cjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuLnN1bW1hcnktY29udGFpbmVyLnN0YXRlbWVudCwgLnN1bW1hcnktY29udGFpbmVyLmFjY291bnQtcGF5bWVudC1zdW1tYXJ5IHtcclxuICAgIC5zdW1tYXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50cmFuc2FjdGlvbi10eXBlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyAuZGlyZWN0LWRlYml0LWljb24ge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgICAgICByaWdodDogNiU7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4vLyBQcmltYXJ5IHVzZWQgb24gdGhlIHN0YXRlbWVudCBwYWdlLlxyXG4uZGlyZWN0LWRlYml0LWljb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZGlyZWN0LWRlYml0KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlcnZpY2UgQ29udHJhY3RzIC0tLS0tIFxyXG50YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5leHQtZHVlLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAueW91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNrdS1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LXZhbHVlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY29udHJhY3QtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC1ncm91cC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkuOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZyZXF1ZW5jeS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDguNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRlcm1pbmF0aW9uLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFsYW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW5ld2FsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNS41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudHVicy1yZW5ldy1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBPcmRlciBzdGF0dXMgdGFibGUgLS0tIFxyXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB7XHJcbiAgICAuaXRlbS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICAvLyBQdXR0aW5nIHRoaXMgaW4gdG8gaGFuZGxlIGxvbmcgcmVmZXJlbmNlcyBpbiB0aGUgYWNjb3VudCBhcmVhLlxyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW52b2ljZXMtY29sLCAuZGVsaXZlcmllcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBEZWxpYmVyeSBFbnF1aXJ5IFRhYmxlIC0tLSBcclxudGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSB7XHJcbiAgICAuaXRlbS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuOTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBleHByZXNzIGRlZmF1bHQgc3R5bGluZyBhcyBpdCBcIiBhc3N1bWVzIFwiIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGlzIGFsd2F5cyB0aGUgZmlyc3QgY29sdW1uLCB0aGlzIGNhbiBiZSByZW1vdmVkIG9uY2UgIzgxNTQ2OCBpcyBkb25lLlxyXG4gICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC55b3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBDb250cmFjdHMgdGFibGUgLS0tIFxyXG50YWJsZS5jb250cmFjdHMtdGFibGUge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyAtLS0gVHJhbnNhY3Rpb25zIHRhYmxlIC0tLSBcclxudGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIHtcclxuICAgIC50eXBlLWNvbCwgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wsIC52YWx1ZS1jb2wsIC5zdGF0dXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQmFjayB0byBteSBhY2NvdW50IGJ1dHRvbiAtLS0tLVxyXG4uYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwKTtcclxufVxyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBSZXF1ZXN0cyAtLS0tLSBcclxudGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSB7XHJcbiAgICAucGF5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGltZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDguNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4LjElO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbW91bnQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMC44JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNpdGUgTGlzdCAtLS0tLSBcclxuXHJcbi8vIC0tLSBDb21tb24gLS0tXHJcbi5zaXRlLWxpc3QtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQgaWNvbiBpZiB0aGlzIGlzIG5vdCBhbiBleHByZXNzIHNpdGUuXHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2l0ZS1saXN0LWJlc3Bva2Utc2l0ZS1pY29uKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cyB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICAgICYuc3VjY2VzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmZhaWxlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYudW5rbm93bjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVua25vd24pO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgJi5jYW5jZWxsZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYW5jZWxsZWQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgJi5pbi1wcm9ncmVzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluLXByb2dyZXNzKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyIDEuNXMgbGluZWFyIGluZmluaXRlOyBcclxuICAgICAgICBAa2V5ZnJhbWVzIHNwaW5uZXIge1xyXG4gICAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAudGltZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtdGltZS1mb250LXN0eWxlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUucHVibGlzaC1oaXN0b3J5IHtcclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIEludGVybmFsIC0tLVxyXG5cclxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICAgICAgIFxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIHJlc3BvbnNpdmUgdGFibGUgcnVsZXMuLi5cclxuICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIHByZXNldC0xIHN0eWxlcy4uLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdHIge1xyXG4gICAgICAgICYuc3RhZ2luZy1zaXRlIHtcclxuICAgICAgICAgICAgLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgICAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogI3sobGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKSArICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGgpfTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2UsIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaHIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24sIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5saWNlbnNlLWNvbCwgLnB1Ymxpc2hpbmctY29sICB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHhcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RhcnRlZC1jb2wsIC5lbmRlZC1jb2wsIC5sYXN0LXRvdWNoLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtYnV0dG9ucy1jb2wge1xyXG4gICAgICAgIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUgeyBcclxuICAgICAgICBmb250LXNpemU6IDQ0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBFeHRlcm5hbCAoIHdoYXQgdGhlIGNsaWVudCBzZWVzICkgLS0tIFxyXG4uc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3RhZ2luZy1zaXRlIHtcclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWxvZ28tbWFyZ2luO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXI7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSwgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTtcclxuICAgICAgICAvLyBwIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIC8vIH1cclxuICAgIC8vIH1cclxuICAgIGhyIHtcclxuICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgLnNpdGUtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIC8vIEFzc3VtZSB0aGUgZmlyc3Qgc3BhbiB3aWxsIGFsd2F5cyBiZSBhIGxhYmVsLlxyXG4gICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBWYWx1ZSBcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIgeyBcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAudGltZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUgeyBcclxuICAgICAgICBmb250LXNpemU6IDc0cHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBDTVMgU3R5bGluZyAtLS0tLS0gXHJcbi0gU3R5bGUgZm9yIHRoZSBhY3R1YWwgY21zIHBhZ2VzIHRoZW1zZWx2ZXM6XHJcbiAgLSBDTVMgRW50cnlcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gQ01TIFNlcmllc1xyXG4tIENNUyBlbnRyeSBjb250cm9sc1xyXG4tIENNUyBtb2R1bGVcclxuLSBDTVMgY29udGVudCBjb250YWluZXIsIHRoaXMgZ2V0IHVzZWQgdGhyb3VnaG91dCBleHByZXNzIGZvciB2YXJpb3VzIHBpZWNlcyBvZiBjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBpbiB0aGUgdm1hZG1pbidzIGNtcyBzeXN0ZW0gdGhlc2UgYmxvY2sgb2YgY29udGVudCBjYW4gbGl0ZXJhbGx5IGJlIGFueXdoZXJlICggaGVhZGluZ3MgZm9yIHBhZ2VzLCBpbiB0aGUgZm9vdGVyLCBhamF4IHJlc3BvbnNlcyApLlxyXG4qL1xyXG5cclxuLmRpc3BsYXktY21zLXNlcmllcy1pbnRybywgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHtcclxuICAgIG1heC13aWR0aDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDtcclxuICAgIG1hcmdpbjogI3skZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tIC0gbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbil9ICN7aWYoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIsIGF1dG8sIDApfSAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tO1xyXG4gICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ7XHJcbiAgICB9XHJcbiAgICAmLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRmFsbGJhY2suXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGlzcGxheS1jbXMtc2VyaWVzIHtcclxuICAgIG1hcmdpbjogMjVweCAwIDA7XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaDMsIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAuZW50cnktY29udGVudCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtZW50cmllcy1jb250ZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBc3NpZ24gY29sb3VyIHNjaGVtZXNcclxuICAgICYubmV3cyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRhYmxlIHtcclxuICAgICAgICAuY2VsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHRvcC1ib3R0b20pO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHJpZ2h0LWxlZnQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCByaWdodC1sZWZ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgdG9wLWJvdHRvbSkgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnRyeS1jb250ZW50ICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRjbXMtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3JpZCB7XHJcbiAgICAgICAgJi52aWRlby1wbGF5bGlzdCB7XHJcbiAgICAgICAgICAgICRjZWxsLWNvbnRlbnQtc3BhY2luZzogMTBweDtcclxuICAgICAgICAgICAgLmNlbGwgYSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRjZWxsLWNvbnRlbnQtc3BhY2luZztcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmR1cmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkY2VsbC1jb250ZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ibG9nIC5jZWxsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MzBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXZlbnRzIC5jZWxsIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkY21zLXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2VsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTdweDtcclxuICAgIH1cclxufVxyXG4ucHVibGlzaC1kYXRlIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG59XHJcbi5yZWFkLW1vcmUtYW5jaG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkcmVhZC1tb3JlLWNvbG91cik7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWFkLW1vcmUtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVhZE1vcmVTdWZmaXgoKTtcclxufVxyXG5cclxuLy8gLS0tLS0gQ01TIEFydGljbGVzLCBQb3N0cyAmIEdlbmVyYWwgRW50cmllcyAtLS0tLSBcclxuLmNtcy1lbnRyeS1jb250YWluZXIge1xyXG4gICAgLy8gQWRkZWQgZmxleGJveCB0byBhbGxvdyBmb3IgbmV3cyBhcnRpY2xlIGJhbm5lciB0byBzaXQgYWxvbmcgc2lkZSB0aGUgY21zIGVudHJ5IHRleHQuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogMjVweCAzMHB4IDQwcHg7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHggNzBweFxyXG4gICAgfVxyXG4gICAgJi5uZXdzLWFydGljbGUge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIG5ld3MpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnQge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBldmVudCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGV2ZW50KSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1wb3N0IHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgYmxvZykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBibG9nKSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluZm9ybWF0aW9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgaW5mb3JtYXRpb24pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm9ybWF0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuc3R5bGUtMSA9IFNpbXBsZSBsYXlvdXQuXHJcbiAgICAgICAgJi5zdHlsZS0xIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHJ1bGVzICggaW1wbGVtZW50ZWQgc3BlY2lmaWNhbGx5IGZvciB3aWxkIHRoaW5ncyApLlxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gQWRkZWQgMXB4IGR1ZSBJRSBub3QgZmxleC1ncm93J2luZyB0aGUgY29udGFpbmVyIGNvcnJlY3RseS5cclxuICAgICAgICBmbGV4OiAxIDFweDtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtaW1hZ2UtZ2FsbGFyeSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1nb29nbGUtbWFwcy1lbWJlZGRlZCgpO1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkY21zLXRhYmxlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyLCAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhY2tncm91bmQtc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCksICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzglO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHVibGlzaC1kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgYWZmZWN0IGVudHJ5IG1vZHVsZXMgYXMgdGhpcyB3YXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIC5jbXMtYnV0dG9uLWxpbmsuLi4gcHJvcGVydGllcy5cclxuLmNtcy1lbnRyeS1jb250YWluZXIsIC5jbXMtY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxufVxyXG5cclxuXHJcbi5jbXMtZW50cnktbmF2aWdhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogNDBweCAwIDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLWVudHJpZXMtY29udHJvbHMsIC5lbnRyaWVzLWljb24tY29udHJvbHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHRoaXMgY291bGQgYmUgcmVmYWN0b3JzIHRvIHVzZSBjb21tb24tYnV0dG9uLTEgbWl4aW4gbm93IHRoYXQgd2Ugc3VwcG9ydCBpY29ucyBpbiBidXR0b25zLlxyXG4gICAgLmNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbiAgICAucHJldmlvdXMtY21zLWVudHJ5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbSA+IDApIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV4dC1jbXMtZW50cnkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tbmV4dCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW0gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMHB4IDA7XHJcbiAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiAxMHB4IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgJGVudHJpZXMtY29udHJvbHMtcHJldmlvdXMtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGJlZm9yZSxcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwLFxyXG4gICAgICAgICAgICBjb2xvdXI6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpLFxyXG4gICAgICAgICAgICBzaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgICRlbnRyaWVzLWNvbnRyb2xzLW5leHQtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLW5leHQpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cixcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKSxcclxuICAgICAgICAgICAgc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemVcclxuICAgICAgICApO1xyXG4gICAgICAgXHJcblxyXG4gICAgICAgICYucHJldmlvdXMtZW50cnkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogZml0LWNvbnRlbnQsIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkZW50cmllcy1jb250cm9scy1wcmV2aW91cy1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLm5leHQtZW50cnkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogZml0LWNvbnRlbnQsIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkZW50cmllcy1jb250cm9scy1uZXh0LWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAyMzBweCkpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBJbmZvcm1hdGlvbiBQYWdlcyAtLS0tLSBcclxuLnNpdGUtbWFwIHtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICA+IHVsIHsgXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm5vdCguc3VwcHJlc3MtYm9yZGVyKSB7XHJcbiAgICAgICAgPiB1bCB7IFxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjsgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgb25seSBpdGVtIHRoZW4gc3VwcHJlc3MgbWVjaGFuaXNtIGFsbCB0b2dldGhlci5cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gRG8gbm90IHNob3cgc2VwZXJhdG9yIG9uIHRoZSBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLnBhcmVudCB7XHJcbiAgICAgICAgICAgID4gYSwgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbWFwLXBhcmVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2l0ZS1tYXAtcGFyZW50LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjMtMiwgJHBvaW50UmlnaHQsIDE1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzVweCAwIDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFyZW50IGEsIHVsIC5jaGlsZCA+IGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLW1vZHVsZSB7IFxyXG4gICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLXJtLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLXJtLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVhZC1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHJlYWQtbW9yZS1mb250LXN0eWxlO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1nZXQoJGNtLXJtLXRleHQtZGVjb3JhdGlvbiwgZGVmYXVsdCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjbXMtcm0tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1nZXQoJGNtLXJtLXRleHQtZGVjb3JhdGlvbiwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcmVhZE1vcmVTdWZmaXgoKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJhY2stdG8taW5mb3JtYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDIzMHB4KSk7XHJcbn1cclxuXHJcbi8vIC0tLS0gQ01TIENvbnRlbnQgQ29udGFpbmVycyAtLS0tLVxyXG4vLyBERVBSRUNBVEVELCB5b3Ugc2hvdWxkIHVzZSAuY21zLWNvbnRlbnQtY29udGFpbmVyIGluc3RlYWQsIHRoaXMgcHJpbWFyeSBnZXRzIHVzZWQgaW4gdGhlIGFjY291bnQgYXJlYSBhbmQgc2hvdWxkIGJlIHJldHJvLWZpdHRlZC5cclxuLmNtcy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAxMnB4IDAgNDFweDtcclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJZiB0aGUgY21zLWNvbnRlbnQtY29udGFpbmVyIGlzIHdpdGhpbiBhIGRpdiB0aGF0IGhhcyBiYWNrZ3JvdW5kIGNvbG91ciBzZXQuXHJcbmRpdltzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yXCJdIHtcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgeyBcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpOyBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdGhlIGNsYXNzIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiBkZWZpbmluZyBhIGNtcyBjb250ZW50IGFyZWEuXHJcbi5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7IFxyXG4gICAgLy9AaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTsgICBcclxuICAgIC8vIFRoaXMgd2FzIGludGVyZmVyaW5nIHdpdGggaG93IGZvcm0gY21zLWNvbnRlbnQtY29udGFpbmVycyB3ZXJlIGJlIGFycmFuZ2VkIGZvciB3aW50ZXJzdG9rZS5cclxuICAgIC8vICY6bm90KC5sZWZ0LWFsaWduKSB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbW91bnQtcGFpZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIHRoZSBpY29uIGFib3ZlLlxyXG4gICAgICAgICAgICBjb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbW91bnQtcGFpZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIHRoZSBpY29uIGFib3ZlLlxyXG4gICAgICAgICAgICBjb2xvcjogJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNlbnRlci1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBhbGluZ21lbnQgZm9yIHFjIGZvciA4MTk2MDYgcmVnYXJkaW5nIHRleHRkYiBhbGlnbm1lbnQgZm9yIGVucXVpcnkgZm9ybSBvbiBzZWFyY2ggcGFnZS5cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmVycm9yIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICBoMiwgaDMsIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3V0dGVyLXkge1xyXG4gICAgICAgIG1hcmdpbjogMTJweCAwIDQxcHg7IFxyXG4gICAgfVxyXG4gICAgJi5wYWdlLWhlYWRpbmctY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICAmLm5vLXNpZGUtcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLm91dGxpbmUge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLy8gTW92aW5nIGJhc2Ugc3R5bGVzIG91dCBvZiBjbXMtbWl4aW4gZHVlIHRvIGNvbmZsaWN0aW5nIHJ1bGVzIHdpdGggKi1idXR0b24gY2xhc3Nlcy5cclxuICAgIEBhdC1yb290IHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCBkZWZhdWx0LWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBhdC1yb290IHdhcyBvdmVycmlkaW5nIGZvb3RlciBwYXJhZ3JhcGggc3R5bGVzLlxyXG4gICAgLy8gQGF0LXJvb3QgeyAgXHJcbiAgICAgICAgcDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJiArIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgbG9naW4gcGFnZS5cclxuICAgICYgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufSIsIi8vIC0tLS0tIFRIRSBNQUpPUklUWSBPRiBUSElTIENPREUgU0hPVUxEIEJFIFJFLVdSSVRFTiBXSEVOIFdFIFJFLUJVSUxEIFRIRSBDSEVDS09VVCBBUyBJVFMgRlJPTSBURU1QTEFURSAxIC0tLS0tIFxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQb3B1cHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI3BvcHVwT3ZlcmxheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyMy02LCAwLjUpO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0b3A6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogNTAwMDA7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR3aWR0aDogMDtcclxuXHR9XHJcbn1cclxuI3BvcHVwQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuM2VtO1xyXG5cdGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW46IDAgMiU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgKyAyMDApO1xyXG4gICAgfVxyXG5cdCYuc3RhbmRhcmQge1xyXG5cdFx0bWF4LWhlaWdodDogOTAlO1xyXG5cdFx0I3BvcHVwQ29udGVudCB7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRcdC5jb250ZW50Q29udGFpbmVyIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5zY3JvbGwge1xyXG5cdFx0I3BvcHVwQ29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRcdFx0LmNvbnRlbnRDb250YWluZXIge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRsZWdlbmQge1xyXG5cdFx0cGFkZGluZzogMTBweCA1cHg7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcblx0fVxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApICsgMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29uZmlybWF0aW9uQ29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcclxuICAgIH1cclxuXHQucG9wdXBCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0XHRcclxuXHRcdC5wb3B1cENsb3NlQnV0dG9uIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b24ge1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG59XHJcbi5zZWNvbmRhcnktYnV0dG9uLnBvcHVwQ2xvc2VCdXR0b24ge1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuI2NoZWNrb3V0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc2VjdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBhIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jY2hlY2tvdXRGb3JtIHtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcclxuICAgIH1cclxuICAgIC5jaGFuZ2VEZXRhaWxzIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkY29sb3VyNC0zLCAwLjIpO1xyXG4gICAgfVxyXG4gICAgLmNoZWNrb3V0LWRldGFpbHMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgICNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDM1cHg7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA3NXB4IDAgMDtcclxuICAgICAgICAjY2hlY2tvdXRTdWJtaXRCdXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0LCAxNSwgNjAwLCAxNXB4IDI1cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4kZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZTogNDRweDtcclxuXHJcbiNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgaDEgeyBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogKCRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplICogMS42KSAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGY0ZmYnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjMtMik7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc0Nsb3NlIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbn1cclxuI2NoYW5nZURldGFpbHMge1xyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYWNjb3VudFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI3Rlcm1zIHtcclxuICAgIG1hcmdpbjogNTBweCAwIDA7XHJcbn1cclxuXHJcbi8vIC0tLSBEZWxpdmVyeSBEZXRhaWxzIC0tLSBcclxuI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZGVsaXZlcnlDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI2RlbGl2ZXJ5VXBncmFkZUNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnZhbGlkYXRpb25FcnJvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG59XHJcblxyXG4uZGVsaXZlcnktb3B0aW9uIHtcclxuICAgIHdpZHRoOiAyNjBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaGVja291dC1jb21wbGV0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4jYmlsbFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXQuY2hlY2tvdXRQb3B1cExpbmsge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBwLCBoMiB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhdGVybmFyeS1idXR0b246bm90KDpob3Zlcikge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDI1cHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvY2VlZCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmVycm9yQ29udGFpbmVyLnBvc3Rjb2RlTG9va3VwU2VsZWN0Q29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAwOyBcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmRlbGl2ZXJ5LXJlYWQtb25seSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn0iLCIvKlxyXG4tLS0tLSA0MDQgLS0tLS0tIFxyXG4tIEFyZSB5b3UgbG9zdD8gXHJcbiovXHJcblxyXG4uZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1sb2dvLXNpemUsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkbm90LWZvdW5kLWxvZ28tc2l6ZSwgaGVpZ2h0KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUyLjVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDVweDtcclxuICAgIH1cclxufVxyXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaWYgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90LWZvdW5kLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIEBpZiAkbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXNpemU7XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXJlcGVhdCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoLCBzbWFsbCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6ICRub3QtZm91bmQtY29udGVudC1jb250YWluZXItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRub3QtZm91bmQtY29udGVudC1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLWhlYWRpbmctMS1jb2xvdXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1oZWFkaW5nLTItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDYyLjVweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEyNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBMaWdodCBib3ggIC0tLS0tXHJcbi0gVGhpcyBnZXQgZGlzcGxheWVkIG9uIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSB0aGUgZnVsbCByZXNvbHV0aW9uIHByb2R1Y3QgaW1hZ2VzLlxyXG5GdW50aW9uYWxpdHkgdGhpcyBob2xkczpcclxuLSBMaWdodCBib3ggYWN0aXZlIC8gaW5hY3RpdmUgc3RhdGVzLlxyXG4tIFRoZSBvdmVybGF5IHN0eWxlcy5cclxuLSBBZGRpdGlvbmFsIEltYWdlcy5cclxuLSAzNjAgaW1hZ2Ugc3VwcG9ydC5cclxuLSBUaGUgaGVhZGVyIHRoYXQgZ2V0cyBnZW5lcmF0ZWQuXHJcbi0gVmlkZW8gcGxheWVyLlxyXG4qL1xyXG5cclxuLy9PdmVybGF5XHJcbiNsaWdodGJveC1vdmVybGF5LmFjdGl2ZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbn1cclxuXHJcbi8vTGlnaHRib3hcclxuLmxpZ2h0Ym94IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2xpZ2h0Ym94LWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgICNsaWdodGJveC1jb3VudCB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb3VudC1jb2xvdXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDdweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jbGlnaHRib3gtY29udGVudC1vdXRlci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbn1cclxuXHJcbiNsaWdodGJveC1jb250ZW50LWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZWVsLW92ZXJsYXkge1xyXG4gICAgLy8gT3ZlcnJpZGluZyB0aGUgZGltZW5zaW9ucyBjYWxjdWxhdGVkIGJ5IHRoZSByZWVsIHBsdWdpbiwgdGhlIGluYnVpbHQganMgcmVzcG9uc2l2ZSBzdXBwb3J0IGNvbmZsaWN0cyB3aXRoIGZvdW5kYXRpb24ncyBtZWRpYSBxdWVyeSBzdXBwb3J0LlxyXG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4vLyBUcmlnZ2VyIG92ZXJsYXkuXHJcbi5pbWFnZSB7XHJcbiAgICAmLmxpZ2h0Ym94LWVuYWJsZWQge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW5sYXJnZSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmxpZ2h0Ym94IHtcclxuICAgICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAvLyBEb25lIG5lZWQgdG8gc2V0IGFic29sdXRlIHdpZHRoICsgaGVpZ2h0IGFueW1vcmUuXHJcbiAgICAgICAgLy8gd2lkdGg6ICRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAvLyBoZWlnaHQ6ICRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHg7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBiZXR3ZWVuIGNvbG91cnMuXHJcbiAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIC8vIERlZmF1bHQuXHJcbiAgICAgICAgJGJ1dHRvbi1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyBIb3Zlci5cclxuICAgICAgICAkYnV0dG9uLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgJGJ1dHRvbi1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGJ1dHRvbi1kZWZhdWx0LCAkYnV0dG9uLWhvdmVyLCAkYnV0dG9uLWFjdGl2ZSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgIH1cclxuXHJcbiAgICAucmVlbC1vdmVybGF5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlnaHRib3gtY29udGVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbGlnaHRib3gtaGVhZGVyLWhlaWdodCkgLSAje3NwYWNpbmctdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luLCAxLCBzbWFsbCl9KTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xyXG4gICAgICAgICAgICAvLyBBY2NvdW50IGZvciBwYWdlciB3aWR0aC5cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogeGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saWdodEJveFNsaWRlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAje3NtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12dztcclxuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAje3NtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7bWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKX0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBlbmZvcmNlIGEgbWluIGhlaWdodCBidXQgcmF0aGVyIGFkanVzdCB0byBjb250ZW50LCBqdXN0IG1ha2Ugc3VyZSB5b3UgZG9uJ3QgZ2V0IGludG8gYSBzaXR1YXRpb24gd2hlcmUgeW91IG92ZXJmbG93IGFub3RoZXIgZWxlbWVudCAvIHZpZXdwb3J0LlxyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7bWVkaXVtLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogI3tsYXJnZS12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLXZpZGVvIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwdnc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZywgI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XHJcbiAgICAgICAgICAgICAgICAvL21heC13aWR0aDogbWFwLWdldCgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAvLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gaGlnaGxpZ2h0aW5nIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYsXHJcbiAgICAgICAgLm5leHQge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyUmFkaXVzMSAkYm9yZGVyUmFkaXVzMSAwO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoIDA7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaWdodGJveC1wcmV2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV4dCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAwIDAgJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAwICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlnaHRib3gtbmV4dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVzQ29udGFpbmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAtMjBweCA2cHggNjBweCAtMTNweCAkY29sb3VyMjtcclxuICAgIH1cclxuICAgICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1wYWdlci1oZWlnaHQpO1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgLy8gYm94LXNoYWRvdzogLTI5cHggMjhweCA1OHB4IC0yOXB4ICRjb2xvdXIyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1wYWdlci1oZWlnaHQpO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC15IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgICAgIC5wc19fdGh1bWIteSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDogM3B4IHNvbGlkICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC15IHsgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgICAgIC5wc19fdGh1bWIteCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucHMtLWFjdGl2ZS14IHtcclxuICAgICAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTsgICAgXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjV2dztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjB2aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG4gICAgJi5pcy12aWRlbyB7XHJcbiAgICAvLyAgICB3aWR0aDogMjV2dztcclxuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KDgwJSwgNTVweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saWdodGJveC1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LWJhY2tncm91bmQtY29sb3VyO1xyXG59XHJcblxyXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gQXMgd2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCB2aWRlb3Mgc3VwcGxpZWQgYnkgeW91dHViZSBzZXQgdGhlIGFzcGVjdCByYXRpbyB0byAxNjo5IGJhc2VkIG9uIHRoZSBiZXN0IGRpbWVuc2lvbnMgdGFibGUgaGVyZSBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci82Mzc1MTEyLCB0aGUgbWFqb3JpdHkgb2YgdmlkZW9zIHdpbGwgYmUgaW4gMTkyMHgxMDgwLiBJZiB0aGlzIG5lZWRzIHRvIGJlIHJlbW92ZWQgYSBhYnNvbHV0ZSBoZWlnaHQgd2lsbCBuZWVkIHRvIGJlIGFwcGxpZWQgdGhlIGlmcmFtZS5cclxuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcclxufSIsIi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXHJcblxyXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcclxufVxyXG5cclxuLy8gSWYgbWFnbmlmaWNhdGlvbiBpcyBhY3RpdmUgb24gYSBsaWdodGJveCBlbmFibGVkIGltYWdlIHRoZW4gcmVkdWNlIHRoZSBsaWdodGJveCBpY29uIGRvd24gYXMgdGhpcyBjYW4gZ2V0IGluIHRoZSB3YXkgb2YgdGhlIG1hZ25pZmljaWF0aW9uIGdsYXNzLlxyXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2Uge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmcsIG1hZ25pZmljYXRpb24taG92ZXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICN7KCRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZSAvIDIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaW1hZ2UtbWFnbmlmaWNhdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAubWFnbmlmeWluZy1nbGFzcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIFRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLlxyXG4ubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIC5tYWduaWZpZXItY29udHJvbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHpvb20tb3V0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB6b29tLWluKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cclxuXHJcblxyXG4uY2Fyb3VzZWwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLmJ4LXVuZGVybGluZSB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXVuZGVybGluZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYngtc2hhZG93IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRyYW5zaXRpb24tbW9kZS1ob3Jpem9uYWwsICYudHJhbnNpdGlvbi1tb2RlLWZhZGUge1xyXG4gICAgICAgIC5ieC12aWV3cG9ydCB7XHJcbiAgICAgICAgICAgIC8vIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGEgZHVwbGljYXRpb24gb2YgY29kZSBhcyB0aGlzIGlzIGRlZmluZWQgaW4gdGhlIC5jb2xsZWN0aW9uIGNsYXNzLCB0aGlzIGRlcGVuZGFuY3kgc2hvdWxkIGJlIHdvcmtlZCBvdXQgdGhlIHN5c3RlbSBvbmNlIDgxNzEzOCBpcyBkb25lIGJ1dCBjdXJyZW50bHkgdGhlcmUgaXMgYSBkaXNjb25uZWN0IGJldHdlZW4gY2Fyb3VzZWwgc3BhY2luZyBhbmQgZ3JpZCBzcGFjaW5nLlxyXG4gICAgLS1tb2R1bGUtZ3V0dGVyOiAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vU2xpZGUgc3R5bGVzLCB0aGlzIGhhbmRsZXMgYmFzaWMgYmFubmVyIGNhcm91c2VsIHN0eWluZyB0byBtdWx0aXBsZSBzbGlkZSBwcm9kdWN0IGNhcm91c2Vscy5cclxuLy8gLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGlzIG5vdCBhIGZpeCBhbmQgbmVlZCBhZGRpdGlvbmFsIHdvcmsuLi4gODE2NTAwXHJcbiAgICAvLyBZb3UgbXVzdCBhZGQgcGFkZGluZyBpZiBzaGFkb3cgaXMgZW5hYmxlZC5cclxuICAgIC8vICYubXVsdGktY29sLXBhZGRpbmcge1xyXG4gICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgLy8gfSAgIFxyXG4vLyB9XHJcblxyXG5bZGF0YS1ieFNsaWRlcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoKTtcclxufVxyXG5cclxuLmJ4LXNlcGVyYXRvciB7XHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICYgKyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LXZpZXdwb3J0IHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5baWQkPVwiLWNhcm91c2VsLWNvbnRhaW5lclwiXSB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDb250cm9scyAtLS0tLVxyXG4vL05vcm1hbCAvIGZhbGxiYWNrLCBtZWRpdW0gc2l6ZWQgYnV0dG9ucy5cclxuLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICAgICAgaGVpZ2h0OiAgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRGljdGF0ZXMgd2hldGhlciB0aGUgY29udHJvbHMgc2hvdWxkIGJlIHdpdGhpbiBjYXJvdXNlbCBjb250YWluZXIgb3Igb3ZlcmZsb3cuXHJcbi5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzIHtcclxuICAgIEBpZiBub3QgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAgICAgJjpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykge1xyXG4gICAgICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpICogMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuc21hbGxDb250cm9scyB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGltcGxlbWVudCBzbWFsbCBjb250cm9scyBwb3NpdGlvbmluZy5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXJnZUNvbnRyb2xzIHtcclxuICAgICAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICBcclxuXHJcbiAgICB9XHJcbiAgICAgIFxyXG59XHJcblxyXG4vL0xhcmdlIGNvbnRyb2xzLCBwaW5uZWQgdG8gdGhlIGxlZnQvcmlnaHQgb2YgdGhlIHNsaWRlciB3aXRoIGVubGFyZ2VkIGJ1dHRvbiBhcmVhLlxyXG4uY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMge1xyXG4gICAgLy9UaGlzIGNsYXNzIGlzIG9ubHkgdXNlZCBpZiBhIHBhZ2VyIGlzIGFjdGl2ZS5cclxuICAgIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgIEBpZiBub3QgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFRvbyBhbGxvdyBmb3IgYSBndXR0ZXIgYmV0d2VlbiB0aGUgYnV0dG9ucy5cclxuICAgICAgICAgICAgJGJ1dHRvbi1ndXR0ZXI6ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogKChzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucykgKiAyKSArICgkYnV0dG9uLWd1dHRlciAqIDIpKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkYnV0dG9uLWd1dHRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgobGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpICogMikgKyAkYnV0dG9uLWd1dHRlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ2JvdHRvbS1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAnYm90dG9tLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpIC8gMi41KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAvIDIuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjQsICRwb2ludExlZnQsIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyNCwgJHBvaW50UmlnaHQsIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCBzb2xpZCBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGRlZmF1bHQpOyBcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAuY2Fyb3VzZWwuc21hbGwtd2lkZS1jb250cm9scyAuYngtY29udHJvbHMge1xyXG4vLyAgICAgLmJ4LXByZXYsIC5ieC1uZXh0IHtcclxuLy8gICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuLy8gICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogOHB4O1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG5AaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250cm9scyBjb250YWluZXIgcG9zaXRpb25pbmcuXHJcbkBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtcmlnaHRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgLmJ4LXZpZXdwb3J0IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJib3R0b20tcmlnaHRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLXJpZ2h0XCIgeyAgXHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwiYm90dG9tLWxlZnRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLWxlZnRcIiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC5ieC1jb250cm9scywgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IEBlbHNlIHtcclxuICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbWFsbC13aWRlLWNvbnRyb2xzIHtcclxuICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtbmV4dCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtY29udHJvbHMge1xyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpZiAkYngtY29udHJvbHMtaWNvbi1zaGFkb3cge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygkYngtY29udHJvbHMtaWNvbi1zaGFkb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je3NtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ4LW5leHQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtbmV4dCk7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcclxuICAgIC8vIE1ha2UganVzdCB0aGUgYnV0dG9ucyBvdmVybGFwIHRoZSB0aGUgY2Fyb3VzZWwgY29udGVudHMuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4uYngtcHJldiB7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ieC1uZXh0IHtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFByZXZlbnRzIGZsYXNoaW5nIGNvbnRlbnQgb24gcGFnZSBsb2FkLlxyXG5kaXZbZGF0YS1ieFNsaWRlcl0ge1xyXG4gICAgLy8gR2V0IGNvbHVtbiBjb3VudC5cclxuICAgIC8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0aGUgQ1NTIGZ1bmN0aW9uIGF0dHIoKSBpcyBpbiBtYWluc3RyZWFtIHN1cHBvcnQgYnV0IHR5cGUoKSBpcyBub3Qgd2hpY2ggd2UgbmVlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZSBmcm9tIHN0cmluZyB0byBpbnRlZ2VyIHRvIGJlIHVzZWQgaW4gY2FsYygpIGZ1bmN0aW9uLiBcclxuICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggMTIge1xyXG4gICAgICAgICZbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uc31cIl0ge1xyXG4gICAgICAgICAgICAtLWNvbHVtbnM6ICN7JGNvbHVtbnN9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICY6bm90KFtieC1zbGlkZXItaWRdKSB7XHJcbiAgICAvLyAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAmOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gUHJlLWluaXRpYWxpc2VkIGNvbHVtbiBhcnJhbmdlbWVudCwgdGhpcyBpcyBmb2xsb3dpbmcgdGhlIHNhbWUgcnVsZXMgYXMgZ3JpZCBtb2R1bGVzIGluIF9tb2R1bGVzLXYyLnNjc3MgLmNvbGxlY3Rpb24gJiAuZ3JpZC1jb2xsZWN0aW9uLXhcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIC8vIEFwcGx5IHJlc3BvbnNpdmUgY29sdW1uIGNvdW50LCB0aGlzIG1pcnJvdyBoYW5kbGViYXJzIGhlbHBlcnMgc21hbGwtY29sdW1uLWNvdW50LmpzICYgbWVkaXVtLWNvbHVtbi1jb3VudC5qcy5cclxuICAgICAgICAtLXNtYWxsLWNvbHVtbnM6IG1heChyb3VuZChkb3duLCBjYWxjKHZhcigtLWNvbHVtbnMpIC8gMiksIDEpLCAxKTtcclxuICAgICAgICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tc21hbGwtY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAvLyBBcHBseSBnYXAuXHJcbiAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLW1lZGl1bS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGVudC1sb2FkaW5nLXNwaW5uZXIoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItY29sb3VyKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtdmlld3BvcnQge1xyXG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxufVxyXG4vLyBNYWtlcyBldmVyeSBzbGlkZSBkaXNwbGF5OiBibG9jayBvdGhlcndpc2UgeW91IGxvc2UgdGhlIGFuaW1hdGlvbiBlZmZlY3QgZm9yIHRyYW5zaXRpb25pbmcuXHJcbi5jYXJvdXNlbCAuYngtdmlld3BvcnQge1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBub3cgZ2V0cyBoYW5kbGVkIGJ5IHRoZSAudHJhbnNpdGlvbi1tb2RlLSBjbGFzc2VzLCBoZWlnaHQ6IDEwMCUgYWxzbyBjYXVzZSBieHNsaWRlciB0byBpbmNvcnJlY3RseSBjYWxjdWxhdGUgdGhlIHNsaWRlIGhlaWdodCB3aGVuIGluIGZhZGUgbW9kZS5cclxuICAgICAgICAvLyBOZWVkIHRvIHNldCAxMDAlIGluIG1vYmlsZSB0byBrZWVwIGFsbCBjZWxscyB0aGUgc2FtZSBoZWlnaHQuXHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gUGFnZXIgLS0tIFxyXG4uYngtcGFnZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLmJ4LXBhZ2VyLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogKCRieC1wYWdlci1idXR0b24tZGltZW50aW9ucyAqIDEuNSk7XHJcbiAgICAgICAgaGVpZ2h0OiAoJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zICogMS41KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNy41cHg7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYngtcGFnZXItYnV0dG9uLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHksIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvOyAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBUaGlzIGNsYXNzIGdldCBhc3NpZ25lZCB3aGVuIHRoZSBzbGlkZSBpcyBhY3RpdmUgTk9UIHdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUuXHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBTbGlkZXJzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVGhpcyBpcyAqTk9UKiBjYXJvdXNlbCBmdW5jdGlvbmFsaXR5IHBsZWFzZSByZWZlciB0byBieHNsaWRlci5zY3NzIGZvciB0aGF0LlxyXG4tIFRoaXMgaXMgZm9ybSBmb3JtIGNvbnRyb2xzIHdoZXJlIHlvdSByZXF1aXJlIGFuIGlucHV0IHR5cGUgPSBzbGlkZXIuXHJcbi0gVGhlIHN0bHllcyBoZXJlIHdpbGwgYWxzbyBoYXZlIGEgaGVhdnkgaW5mbHVlbmNlIG9uIHRoZSBwcmljZSBzbGlkZXIgZm9yIGZpbHRlcnMuXHJcbiovXHJcblxyXG4uc2xpZGVyIHtcclxuICAgIGhlaWdodDogJHNsaWRlci1yYWlsLWhlaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRzbGlkZXItcmFpbC1ib3JkZXItcmFkaXVzKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBZGQgZXJyb3Igc3R5bGVzLlxyXG4gICAgJi5zbGlkZXItaW52YWxpZCB7XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gU2xpZGVyIEhhbmRsZSAtLS0tIFxyXG4vLyBUaGUgdGhpbmdzIHRoYXQgeW91IHB1bGwgb24uXHJcbi51aS1zbGlkZXItaGFuZGxlIHtcclxuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zO1xyXG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLS41ZW07XHJcbiAgICAvLyBJZiB0aGUgaGFuZGxlIGlzIGluIHRoZSBtaW4gcG9zaXRpb24gdGhlIHJhaWwgYmVsb3cgaXMgc3RpbGwgZXhwb3NlZC5cclxuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1cztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWljb24tY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG91cjE7XHJcblxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4udWktc3RhdGUtYWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNsaWRlciBSYW5nZSAtLS0tLSBcclxuLy8gVGhlIGNvbG91cmVkIGFyZWEgKCB0aGUgc2VsZWN0ZWQgc2VjdGlvbiApXHJcbi51aS1zbGlkZXItcmFuZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIC8vIEFkZGluZyBhZGR0aW9uYWwgd2lkdGggKyBoZWlnaHQgc28gdGhlIHJhbmdlIG92ZXJmbG93cyB0aGUgcmFpbCdzIGJvcmRlci5cclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNHB4KTtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC8vIFRvIG92ZXJsYXAgdGhlIHJhbmdlIGNvbG91cmluZyBvdmVyIHRoZSByYWlsJ3MgYm9yZGVyLlxyXG4gICAgJi51aS1zbGlkZXItcmFuZ2UtbWluIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51aS1zbGlkZXItcmFuZ2UtbWF4IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudWktc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tLS0gRXJyb3IgY29udGFpbmVyIC0tLS0tIFxyXG4uc2xpZGVyLWVycm9ycyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMjVweCAzcHggNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICBcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH0gICAgXHJcbn0iLCJcclxuW2RhdGEtdG9vbHRpcF0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG5zcGFuLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7ICAvLyBkaXNhYmxlcyB0aGUgaU9TIGNhbGxvdXQgbWVudVxyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgICAgLy8gZGlzYWJsZXMgdGV4dCBzZWxlY3Rpb25cclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgIC8vIGJvbnVzOiBraWxscyB0aGUgdGFwIGZsYXNoLlxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbmZvKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gNSkgKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gMik7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtaW5mby1pY29uLXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLy8gTmVlZCB0byBzZXQgYmFzZWxpbmUgaWYgbXVsdGlwbGUgdGV4dCBzdHJpbmdzIHdyYXBwZWQgaW4gaHRtbCBlbGVtZW50cyB0byBlbnN1cmUgdGhleSBhbGwgZm9sbG93IHRoZSBzYW1lIHZlcnRpY2FsIGFsaWdubWVudCAoIGkuZSBTT0ggbm90aWZpY2F0aW9ucyApLlxyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgZHVlIHRvIGhhdmUgYSB0b29sdGlwIGRpcmVjdGx5IHVuZGVyIGFuZCBpbnN0YW5jZSBjYXVzZSB0aGUgYnV0dG9ucyB0byBvdmVybGFwIHRoZSBjb250ZW50IGFyZWEuXHJcbiAgICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmLndhcm5pbmcsICYuYWxlcnQge1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1bnJlYWQtc3RhdGUtb24pO1xyXG4gICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0OiA4cHg7XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG92ZXJmbG93aW5nIGxlZnQgdGhlbiBvdmVycmlkZS5cclxuICAgICYucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi1sZWZ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgb3ZlcmZsb3dpbmcgcmlnaHQgdGhlbiBvdmVycmlkZS5cclxuICAgICYucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAvLyBBZGRpbmcgdGhlIHRpcCB0byB0aGUgdG9vbHRpcC5cclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsICR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLCAkdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi8vIFRvIHN0b3AgdGhlIGNvbnRlbnQgZnJvbSBmbGFzaGluZyBvbiBwYWdlIGxvYWQuXHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIC8vdG9wOiAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgKiAzKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdG9vbHRpcC1jb250ZW50LXRpcC1zaXplfXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRofXB4IHNvbGlkICR0b29sdGlwLWNvbnRlbnQtYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgbGksIGEsIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0b29sdGlwLWNvbnRlbnQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICR0b29sdGlwLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBSZWFkIG1vcmUgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBSZXZlYWxpbmcgYWRkaXRpb25hbCBtYXJrdXAsIHRoaXMgY2FuIGluY2x1ZGUgdGV4dCBvciBpbWFnZXMuXHJcbi0gSG93IHRoZSBmYWRlIC8gZ3JhZGlhbnQgZ2V0cyB1c2VkIHdoZW4gY3V0dGluZyBvZiB0aGUgb3ZlcmZsb3dpbmcgY29udGVudC5cclxuKi9cclxuXHJcbi5yZWFkLW1vcmUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJi5jb250YWluZXItY2FsY3VsYXRpb24td2FpdGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAvLyBvdmVycmlkZSBjbG9zZWQgaGVpZ2h0LlxyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtb3Blbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vYmlsZS1vbmx5IHtcclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9iaWxlLW9ubHkge1xyXG4gICAgICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmW3JtLXJldmVhbD10cnVlXSB7XHJcbiAgICAvLyAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgIC8vIExldHRpbmcgdGhpcyBmYWxsIG5hdHVyYWxseSBvbiB0aGUgcGFnZS5cclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1jbG9zZWQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDVweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5yZWFkLW1vcmUge1xyXG4gICAgLy8gUnVsZXMgdG8gc2hvdyBmYWRlLlxyXG4gICAgLy8gSWYgdGhlIGZhZGUgaXMgbm90IGRpc2FibGVkIGJ5IHRoZSBKUyBkdWUgdG8gbG93IGNvbnRlbnQuXHJcbiAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgIC8vIElmIHRoaXMgaXMgYSByZWFkIG1vcmUgZWxlbWVudCB0aGF0IGFsbG93cyB0aGUgZmFkZSBlZmZlY3QgYW5kIG5vdCBqdXN0IHVzaW5nIHRoIHJldmVhbCBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBqdXN0IGEgbW9iaWxlIG9ubHkgcmVhZCBtb3JlIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIGNvbnRlbnQgYnV0IGxvb2tzIG9rIG9uIGRlc2t0b3AuXHJcbiAgICAgICAgJi5tb2JpbGUtb25seSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGFjdGl2ZSB0aGVuIGRpc2FibGUgZmFkZS5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkIHtcclxuICAgICAgICAgICAgJiA+IHAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAvLyBBcyAxNy4xMC4yMDI1IHRoZXJlIGlzIG5vIG9mZmljaWFsIHN1cHBvcnQgbGluZS1jbGFtcCBpbiBDU1MncyBzcGVjIGJ1dCBoYXMgZ29vZCBnZW5lcmFsIGJyb3dzZXIgc3VwcG9ydCBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbGluZS1jbGFtcC5cclxuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBtb2JpbGUgb25seS5cclxuICAgIC8vICY6bm90KC5hY3RpdmUpOm5vdCgubW9iaWxlLW9ubHkpOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgLy8gICAgIC8vIElmIGZhZGUgaXMgbm90IGRpc2FibGVkLlxyXG4gICAgLy8gICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBJZiBtb2JpbGUgb25seS5cclxuICAgIC8vICY6bm90KC5hY3RpdmUpLm1vYmlsZS1vbmx5IHtcclxuICAgIC8vICAgICAvLyBJZiBmYWRlIGlzIG5vdCBkaXNhYmxlZC5cclxuICAgIC8vICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9ICAgXHJcbiAgICAvLyBCZWZvcmUgaW5pdGlhbGlzYXRpb24gaGlkZSBjb250ZW50IHRvIHByZXZlbnQgY29udGVudCBmcm9tIGZsYXNoaW5nIHVwLlxyXG4gICAgJjpub3QoW3JtLWlkXSkge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfSBcclxufVxyXG5cclxuIiwiLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cclxuXHJcblxyXG4jaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyB7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgdG9wKSBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIHNpZGUpIG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgYm90dG9tKTtcclxuICAgID4gdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRhYy1yZXN1bHRzLXdpZHRoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNiU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhYy1yZXN1bHRzLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDUwMDAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjLXJlc3VsdHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBJbmNyZWFzZWQgei1pbmRleCB0byBiZSBvbnRvcCBvZiBiYXNrZXQgc3VtbWFyeS5cclxuICAgICAgICB6LWluZGV4OiAyMDAwMDE7XHJcbiAgICB9XHJcbiAgICAvLyBPcGVuaW5nIGFuZCBjbG9zaW5nLlxyXG4gICAgJi5zY3JvbGxlciB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHVsLCAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogJGhlYWRlci1zZWFyY2gtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBwYWRkaW5nOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaWYgKHNtb290aC1lZGdlcygkYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICAgIEBpZiAoJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyKSB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICAuYWMtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGFjLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpZiAoJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LWZhbWlseTtcclxuICAgIH1cclxuICAgIC52aWV3LWFsbCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBhOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy12aWV3LWFsbC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhYy12aWV3LWFsbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXZpZXctYWxsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYXV0by1jb21wbGV0ZS12aWV3LWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLXZpZXctYWxsLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuLmFjLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46ICRhYy10aXRsZS1tYXJnaW47XHJcbiAgICBmb250LXN0eWxlOiAkYWMtdGl0bGUtZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYWMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgIEBpZiAoJGFjLXRpdGxlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRhYy10aXRsZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbn1cclxuLmFjLWl0ZW0tbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogJGFjLWl0ZW0tbGlzdC1wYWRkaW5nO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICYuY29sdW1uIHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm5vdCguY29sdW1uKSB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLnJvdyB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYWMtaXRlbSB7XHJcbiAgICBtYXJnaW46ICRhYy1pdGVtLW1hcmdpbjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGEgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UsIC5hYy1pdGVtLW11bHRpbWVkaWEtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBtYXJnaW46ICRhYy1pdGVtLWltYWdlLW1hcmdpbjtcclxuICAgICAgICBib3JkZXI6ICRhYy1pdGVtLWJvcmRlcjtcclxuICAgIH1cclxuICAgIC8vIFRvbyBhYmlndW91cyBub3cgdGhhdCB3ZSBuZWVkIHRvIGFsc28gZGlzcGxheSByZWZlcmVuY2UgYXMgd2VsbCBhcyBkZXNjcmlwdGlvbi5cclxuICAgIC8vIHNwYW4ge1xyXG4gICAgLy8gICAgIGZsZXgtYmFzaXM6IDEzMHB4O1xyXG4gICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMCAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRhYy1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIEBpZiAoJGFjLWl0ZW0tZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkYWMtaXRlbS1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhYy1pdGVtLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBAaWYgKCRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkYWMtaXRlbS1jb250ZW50LWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkYWMtaXRlbS1jb250ZW50LWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cik7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tc25pcHBldCB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1zbmlwcGV0LWNvbG91cik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFNlYXJjaCBjb250YWluZXIgd2hlbiByZXN1bHQgaGF2ZSBiZWVuIGZvdW5kLlxyXG4uYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuYWpheC1zZWFyY2gge1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFRoZSBjb250YWluZXIgZm9yIGVudGlyZSBhdXRvIGNvbXBsZXRlIGNvbXBvbmVudHMuXHJcbi5hdXRvY29tcGxldGUtY29udGFpbmVyIHtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIC8vIERvbid0IGhpZGUgb3ZlcmZsb3cgZHVlIHRvIHVzaW5nIGJveC1zaGFkb3dzLlxyXG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLy90cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLmFjLWl0ZW0tbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLy8gT3JpZ2luYWwgU291cmNlOlxyXG4vLyBodHRwczovL2NvZGVwZW4uaW8vaWFtbnV4dC9wZW4vZFJ4Qlh4XHJcbi8vIGh0dHBzOi8vY29kZXBlbi5pby9pYW1udXh0L3Blbi92Wm9KUGFcclxuXHJcbi5zYSB7XHJcbiAgICB3aWR0aDogKCRzYS1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgaGVpZ2h0OiAoJHNhLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICBtYXJnaW46ICRzYS1tYXJnaW47XHJcbiAgICAmLXdhcm5pbmcge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS13YXJuaW5nLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLXdhcm5pbmctZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogc2NhbGVXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLy8gYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmcgMnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDdweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZG90IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtZXJyb3Ige1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS1hbGVydC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS1hbGVydC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZUVycm9ySWNvbiAuNXM7XHJcbiAgICAgICAgJjphZnRlcixcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTE3cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDVweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcclxuICAgICAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICAgICAgdG9wOiAtMTFweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA2MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXgge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgLy8gYm9yZGVyOiA0cHggc29saWQgJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgbGVmdDogLTRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC00cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1maXgge1xyXG4gICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWxlZnQsXHJcbiAgICAgICAgJi1yaWdodCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWxlZnQge1xyXG4gICAgICAgICAgICBsZWZ0OiAxN3B4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhMZWZ0IC43NXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXJpZ2h0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhSaWdodCAuNzVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRXJyb3IgQW5pbWF0aW9uIC0tLS0tXHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuXHJcbiAgICAwJSxcclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUsXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVFcnJvckljb24ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVhMZWZ0IHtcclxuXHJcbiAgICAwJSxcclxuICAgIDY1JSB7XHJcbiAgICAgICAgbGVmdDogODJweDtcclxuICAgICAgICB0b3A6IDk1cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBsZWZ0OiAxN3B4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlWFJpZ2h0IHtcclxuXHJcbiAgICAwJSxcclxuICAgIDY1JSB7XHJcbiAgICAgICAgcmlnaHQ6IDgycHg7XHJcbiAgICAgICAgdG9wOiA5NXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiAzM3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gV2FybmluZyBBbmltYXRpb24gIC0tLS0tXHJcblxyXG5Aa2V5ZnJhbWVzIHNjYWxlV2FybmluZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXJcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gU3VjY2VzcyB0aWNrXHJcbi5jaGVja19tYXJrIHtcclxuICAgIHdpZHRoOiAobWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCB3aWR0aCkgKyAxMCk7XHJcbiAgICBoZWlnaHQ6IChtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIGhlaWdodCkgKyAxMCk7XHJcbiAgICBtYXJnaW46ICRzYS1tYXJnaW47XHJcbn1cclxuXHJcbi5zYS1pY29uIHtcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlLFxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XHJcbiAgICB0b3A6IC03cHg7XHJcbiAgICBsZWZ0OiAtMzNweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcclxuICAgIHRvcDogLTExcHg7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDBweCA2MHB4O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1wbGFjZWhvbGRlciB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC00cHg7XHJcbiAgICB0b3A6IC00cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1maXgge1xyXG4gICAgd2lkdGg6IDVweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjhweDtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MuYW5pbWF0ZTo6YWZ0ZXIge1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcXDk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIFxcOTtcclxufVxyXG5cclxuLmFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NUaXAgMC43NXM7XHJcbn1cclxuXHJcbi5hbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgdG9wOiAzOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNTQlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDcwJSB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBsZWZ0OiAyMXB4O1xyXG4gICAgICAgIHRvcDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA1NCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGxlZnQ6IDIxcHg7XHJcbiAgICAgICAgdG9wOiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICB0b3A6IDM4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUge1xyXG4gICAgaGVpZ2h0OiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgbGVmdDogMTRweDtcclxuICAgIHRvcDogNDZweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xyXG4gICAgd2lkdGg6IDQ3cHg7XHJcbiAgICByaWdodDogOHB4O1xyXG4gICAgdG9wOiAzOHB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIE5vdGlmaWNhdGlvbnMgKCBDYWxsb3V0cyApIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gT24gcGFnZSBub3RpY2F0aW9ucyAoIG5vIGl0ZW1zIGZvdW5kICkgXHJcbi0gSGVhZGVyIG5vdGlmaWNhdGlvbnMuXHJcbi0gQ29va2llIG5vdGlmaWNhdGlvbi5cclxuLSBDYWxsb3V0cyAoIHRoaW5ncyB0aGF0IHNsaWRlIG91dCBmcm9tIHRoZSBlZGdlZCBvZiBhIHdpbmRvdyApIFxyXG4tIE5vIEphdmFzY3JpcHQgbm90aWZpY2F0aW9uXHJcbi0gQnJvd3NlciBjb21wYXRpYmxpdHkgbm90aWZpY2F0aW9uIFxyXG5cclxuKi9cclxuXHJcbi5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAmOm5vdCguY2xvc2UtYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbGVydCB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud2FybmluZyB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuc3VjY2VzcyB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4LCAkY29sb3VyMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNhbGxvdXQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gVGhlc2Ugbm9ybWFsbHkgc2xpZGUgb3V0IGZyb20gdGhlIHRvcCBvciBzaXplLlxyXG5cclxuLmNhbGxvdXQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTtcclxuICAgICYuc2lkZSB7XHJcbiAgICAgICAgLmNhbGxvdXQge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICBmb250LXdlaWdodDogJG5vdGlmaWNhdGlvbi1jYWxsb3V0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICBAaWYgKCRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICAvLyBGYWtlIGJhY2tncm91bmQgdG8gcHJldmVudCB3aGF0ZXZlciBpcyBiZWhpbmQgdGhlIG5vdGlmaWNhdGlvbiBzaG93aW5nIHRocm91Z2guXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4LCAkY29sb3VyMy0yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBlbWJlZGRlZCBpbiB0aGUgbWFpbiBjb250ZW50LlxyXG4ub24tcGFnZS1ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG59XHJcbi5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmcsICRuby1pdGVtcy1mb3VuZC1tYXJnaW4sICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUsICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemUpO1xyXG59XHJcblxyXG5cclxuLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XHJcbiAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkbm8taXRlbXMtZm91bmQtcGFkZGluZywgJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiwgJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSwgJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZSk7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lcnJvci1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRpbnRlcm5hbC1lcnJvci1wYWRkaW5nLCAkaW50ZXJuYWwtZXJyb3ItbWFyZ2luLCAkaW50ZXJuYWwtZXJyb3ItZm9udC1zaXplLCAkaW50ZXJuYWwtZXJyb3ItaWNyb24tc2l6ZSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEgeyBcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBPdmVycmlkZSBhY3RpdmUgY2xhc3MgYXMgeW91IGFsd2F5cyB3YW50IHRoaXMgdG8gYmUgYWN0aXZlLlxyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksIDAuOSk7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGlucHV0LXRyYW5zaXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMgLS0tLS0gXHJcbi5ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgei1pbmRleDogMjAwMDtcclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb25zLXotaW5kZXg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNDUwbXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzcztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpIGF1dG8gMDtcclxuICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9ucy1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWNhdGlvbnMtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG5vdGlmaWNhdGlvbnMtaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byBsYXJnZS12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogJG5vdGlmaWNhdGlvbnMtaWNvbi13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWJhc2lzOiAxODBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSArIDUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgW2NsYXNzJD1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAycywgbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAkdHJhbnNpdGlvbkludHJvLCBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG5vdGlmaWNhdGlvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZS10cmlnZ2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wd2Ege1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3RpZmljYXRpb25zLWFwcC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgICYuY29va2llIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cclxuXHJcbi8vIFN1cHByZXNzIG92ZXJsYXlzIGlmIHlvdSdyZSBvbiB0aGUgZGVkaWNhdGVkIHBhZ2UuXHJcbiNzcGVjaWFsLW9mZmVycyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuI2ZlYXR1cmVkLWl0ZW1zIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLmZlYXR1cmVke1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuI2Jlc3Qtc2VsbGVycyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVye1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBTcGVjaWZpY2FsbHkgbm90IGZvciBjb21wYWN0IGNhcm91c2VscyBvdmVybGF5IHBvc2l0aW9uaW5nLlxyXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSB7XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGltYWdlLW92ZXJsYXktcG9zaXRpb247XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENlbnRlcmFsaXNlIHRoZSBwcm9kdWN0IG92ZXJsYXkgb3ZlciB0aGUgbWFpbiBwcm9kdWN0IGltYWdlLlxyXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xyXG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6aGFzKGltZ1tzcmMkPVwiLnBuZ1wiXSkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5vdmVybGF5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gQWx3YXlzIHNjYWxlIGRvd24gdGhlIGltYWdlIHRvIGZpdCB3aXRoaW4gdGhlIGNvbnRhaW5lci5cclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIC8vIFNWRydzIG1heSBub3QgaGF2ZSBhIHdpZHRoICBhdHRyaWJ1dGUgc2V0LCBzbyB3ZSBuZWVkIHRvIGFzc3VtZSB0byBzY2FsZSB0byB0aGUgbWF4IGF2YWlsYWJsZSB3aWR0aC5cclxuICAgICAgICAmW3NyYyQ9XCIuc3ZnXCJdLCAmW3NyYyQ9XCIuU1ZHXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gRXhwYW5kIHRvIDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aC5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgY29udGVudCBpcyBhbGlnbmVkIGNlbnRlciwgeW91IGNhbm5vdCByZWx5IG9uIHRoZSBpbWFnZSBiZWluZyBwcm92aWRlZCBhdCB0aGUgY29ycmVjdCBzaXplLlxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIFNldHRpbmcgc2l6ZSB0byBjb250YWluIG90aGVyd2lzZSBpbWFnZSB3aWxsIG92ZXJmbG93IHRoZSBwcm9kdWN0IGltYWdlIGluIGNhcm91c2Vscy5cclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5ncm91cC5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLXNwZWNpYWwtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ3JvdXAuZmVhdHVyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLWZlYXR1cmVkLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdyb3VwLmJlc3RTZWxsZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLXNwZWNpYWwtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLmJlc3RTZWxsZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdwcm9kdWN0L3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5wcmV2aW91c2x5LXB1cmNoYXNlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLXByZXZpb3VzbHktcHVyY2hhc2VkLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBwcmV2aW91c2x5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAmLnN0b2NrLmNvbnRyYWN0LWl0ZW0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1jb250cmFjdC1pdGVtLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBjb250cmFjdC1pdGVtKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiXHJcblxyXG5cclxuW2RhdGEtY291bnRkb3duLXRpbWVdIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLmNvdW50ZG93bi1jb250YWluZXIge1xyXG4gICAgcCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvZHVjdC1lbnF1aXJ5LWRlbGl2ZXJ5LWNvdW50ZG93bik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMCA3cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMDtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvdW50ZG93bi1kaXNwbGF5LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJiArIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSB7XHJcbiAgICAgICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10ge1xyXG4gICAgICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIFRyYW5zaXRpb25zIC0tLVxyXG4gICAgJi5jb3VudGRvd24taW5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5jb3VudGRvd24tYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1cztcclxuICAgIH1cclxuICAgIFxyXG59IiwiXHJcbi8qXHJcblxyXG4tLS0tLSBQV0EgKCBQcm9ncmVzc2l2ZSBXZWIgQXBwbGljYXRpb24gKSAtLS0tLSBcclxuLSBJbnN0YWxsYXRpb24gcHJvbXB0LlxyXG5cclxuKi9cclxuIiwiLypcclxuLS0tLS0gUGF5bWVudCBNZXRob2RzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gSG93IHBheW1lbnQgbWV0aG9kcyBzdWNoIG9mIG9wYXlvIGlmcmFtZSBsb29rcyBpbiB0aGUgY2hlY2tvdXQuXHJcbiovXHJcblxyXG4vLyBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoZSBzcGFjaW5nIHdhcyBmYWlybHkgY29uc2lzdGVudCBkdWUgdG8gYSBcIiBzaW1wbGlzaCBcIiBVSSB0aGlzIG1pZ2h0IGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxyXG4kcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nOiAyMHB4O1xyXG5cclxuLnBheW1lbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAvLyBUaGUgOm5vdCBjaGVjayB3YXMgcHV0IGluIHBsYWNlIGFzIHRoZXNlIHN0eWxlcyBjb25mbGljdCB3aXRoIG9sZCBDU1MgcnVsZXMsIG9uY2Ugd2UgbW92ZSBhd2F5IGZyb20gb2xkIG9wYXlvIHNlcnZlciBmcmFtZXMgdGhpcyBjaGVjayBjYW4gZ28gYXMgd2VsbCBhcyB0aGUgLnBheW1lbnQtbWV0aG9kIGNsYXNzLiBcclxuICAgICY6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIHdpZHRoOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIC8vIHdpZHRoOiA2MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAjeyRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmd9O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAkcGF5bWVudC1jb250YWluZXItYm9yZGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBsYXJnZS12YWx1ZSgkcGF5bWVudC1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6aGFzKC5jb250YWluZXItcmVzaXplZCkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT2xkIE9wYXlvIFNlcnZlciBQYXltZW50IG1ldGhvZC5cclxuICAgIC5wYXltZW50LW1ldGhvZCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIG92ZXJmbG93LXkgcHJvcGVydHkgdG8gdGhlIHBheW1lbnQgbWV0aG9kIGNvbnRhaW5lciBhcyBiZWx0IGFuZCBicmFjZXMgaWYgdGhlIHNjYWxpbmcgZm9yIHRoZSBoZWlnaHQgb24gdGhlIGlmcmFtZSBmYWlscyB0byBzY2FsZSB1cCBkdWUgdG8gcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgcmVzdHJpY3Rpb25zLlxyXG4gICAgICAgICRib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICBtYXgtd2lkdGg6ICRwYXltZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgbWluLWhlaWdodDogKDUwMHB4ICsgKCRib3JkZXItd2lkdGggKiAyKSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGRpc3BsYXkgdG8gcmVtb3ZlIHdoaXRlc3BhY2UgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZnJhbWUuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAmI29wYXlvLWlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQsIG9wYXlvKTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4OyAvLyBTZXR0aW5nIG1pbi1oZWlnaHQgZHVlIHRvIGZvbnQtc2NhbGluZy5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENsYXNzZXMgZm9yIE9wYXlvIFBJXHJcbiAgICAucGktY2FyZC1wYXltZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tZWRpdW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzkwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGFyZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXh0cmEtbGFyZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEV4bWFwbGUgdGhlIGlmcmFtZSB0byBhdmFpbGFibGUgc3BhY2UsIHRoaXMgbWF5IGdldCBvdmVyd3JpdHRlbiBieSBPcGF5bydzIEphdmFzY3JpcHQuXHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBQYXltZW50IE1ldGhvZCBTZWxlY3RvciAtLS0tLVxyXG5mb3JtICsgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gSWYgb25seSBvbmUgb3B0aW9uIHRoZW4gaGlkZSB0aXRsZS5cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLXBheW1lbnQgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcmQtcGF5bWVudCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheXBhbCAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheXBhbCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdvb2dsZS1wYXkge1xyXG4gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGFiaWRlIGJ5IEdvb2dsZSBCcmFuZCBndWlkZSBsaW5lcy4uLlxyXG4gICAgICAgICAgICAvLyBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wYXkvYXBpL2FuZHJvaWQvZ3VpZGVzL2JyYW5kLWd1aWRlbGluZXMjZ29vZ2xlLXBheS1sb2dvLW1hcmtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAgMCAje3NwYWNpbmctdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcsIDIsIHNtYWxsKX0gMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBnb29nbGUtcGF5KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hcHBsZS1wYXkgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFwcGx5LXBheSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1wYXltZW50IHtcclxuICAgICAgICAgICAgJi5vcGF5byB7XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1mb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWZvbnQtc2l6ZTogI3tyZW0tY2FsYygxNil9O1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAjeyRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmd9O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEF0dGVtcHRpbmcgdG8gbWF0Y2ggT3BheW8ncyBzdHlsZXMgZm9yIHNhdmUgY2FyZCBwcm9tcHQuXHJcbiAgICAgICAgICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICAgICAgICAgJi5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY29udGFpbmVyLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWNvbnRhaW5lci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlcjogJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjtcclxuICAgICAgICAgICAgJiArIC5wYXltZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7bGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKX0gKyAjeyRjaGVja2JveC1kaW1lbnRpb25zfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXlwYWwtYnV0dG9uIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZC1mcmFtZS1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0iLCJcclxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xyXG5cclxuXHJcbi5zb2NpYWwtaWNvbnMtaGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRjb2xvdXI0O1xyXG59XHJcblxyXG4uc29jaWFsLWljb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5wcm9kdWN0LCAmLm1vZHVsZSB7XHJcbiAgICAgICAgLy8gYmVjYXVzZSBwcm9kdWN0IHBhZ2UgbW9kdWxlcyBkb250IGhhdmUgYSBpY29ucy1jb250YWluZXIuXHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXNvY2lhbC1pY29ucy1tYXJnaW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbG9hdDogJHByb2R1Y3Qtc29jaWFsLWljb25zLWZsb2F0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmV2aWV3IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG4gICAgJi5mb290ZXIge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc29jaWFsLWljb25zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcsIG1ha2Ugc3VyZSBpY29uIGNvbG91cnMgZG8gbm90IGNvbmZsaWN0IHdpdGggZm9vdGVyIGJhY2tncm91bmQuXHJcbiAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQgYW5kICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSBcInNpdGUtc3BlY2lmaWNcIiB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIEFjdGl2ZS5cclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItc29jaWFsLWljb24taG92ZXIpO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBiYWNrZ3JvdW5kIHN0eWxlcyBkdWUgdG8gc3VwcHJlc3NpbmcgdGhlIGJhY2tncm91bmQgZmxhZyBiZWluZyBzZXQuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRzb2NpYWwtaWNvbnMtc2l6ZSArIDIwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDEwKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDEwKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkc29jaWFsLWljb25zLXNpemUgKyA1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuXHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgICAgIHdpZHRoOiAkc29jaWFsLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAkc29jaWFsLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzb2NpYWwtaWNvbnMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8gaWYoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5LCAje1wiLFwifSBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIFwiXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc29jaWFsLWljb25zLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVCcmFuZHM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybyBpZigkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHksICN7XCIsXCJ9IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgXCJcIik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmZhY2Vib29rIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxODc3ZjIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2ZhY2Vib29rJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzFEQTFGMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbigndHdpdHRlcicpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5saW5rZWRJbiB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMEE2NkMyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdsaW5rZWRJbicpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnN0YWdyYW0ge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdpbnN0YWdyYW0nKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnlvdXR1YmUge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGMDAwMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbigneW91dHViZScpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5nb29nbGUtcGx1cywgJi5nb29nbGVfcGx1cyB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkYwMDAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdnb29nbGUtcGx1cycpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lbWFpbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdlbWFpbCcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYucmV2ZWFsLW5leHQtdG8tdG9nZ2xlIHtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJldmVhbC1vdmVyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgICAgICAmICsgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZXZlYWwtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJldmVhbC1jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgIC5zaGFyZS1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignc2hhcmUnKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xyXG5cclxuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyNCwgMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKSwgMSkgNSUsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0yKSwgMSkgNjUlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93IHtcclxuICAgICAgICBib3gtc2hhZG93OiAkZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgbGFiZWwuY29udHJvbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAgXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3QgKCB0aGlzIHNpdHMgdW5kZXIgdGhlIGRyb3Bkb3duIHNlbGVjdG9ycyApIC0tLS0tIFxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcCA6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICAvLyBEZWR1Y3QgdGhlIGxpc3QgaXRlbSBwYWRkaW5nIGZyb20gdGhlIG1hcmdpbiBvdGhlcndpc2UgdGhlcmUgd2lsbCBiZSBhIGxhcmdlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGJlZW4gdGhlIGhlYWRpbmcgYW5kIGxpc3QgaXRlbXMuXHJcbiAgICAgICAgbWFyZ2luOiAwIDAgKHNwYWNpbmctdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTEpLCAzKSAtICRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZyAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBQaWNrICYgTWl4IC0tLS0tLSBcclxuLSBBIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBpdGVtcyB0byBjcmVhdGUgYSBwYWNrLlxyXG4qL1xyXG5cclxuLnBpY2stbi1taXgtY29udGFpbmVyIHtcclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgaXMgY2F1c2luZyB1bmV2ZW4gc3BhY2luZyBmb3IgbW9kdWxlcy5cclxuICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LXBhZGRpbmcpO1xyXG4gICAgQGlmICRwaWNrLW4tbWl4LWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXI0LCAxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpLCAxKSA1JSwgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTIpLCAxKSA2NSUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IEhlYWRlciAtLS0tLVxyXG4ucGljay1uLW1peC1oZWFkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwaWNrLW4tbWl4LWhlYWRpbmctc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHBpY2stbi1taXgtaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBoNCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcGljay1uLW1peC1oZWFkZXItY29udGVudC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIxOyAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCBzZWxlY3RvcnMgKCBtYWluIGNvbnRlbnQgKSAtLS0tLVxyXG4ucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJHBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiA3LjVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC10b3RhbC1yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIyLjVweDtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5yZW1haW5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE3LjVweCAwO1xyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNpbmctdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbiwgMik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNpbmctdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbiwgMiwgJ2xhcmdlJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlbGVjdGVkLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gVG8gYnJpbmcgdGhlIGNvdW50IGlubGluZSB3aXRoIHRoZSBxdWFudGl0eSBzZWxlY3RvcnNcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlbWFpbmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZW1haW5pbmctY291bnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBtYXJnaW4gZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlndGg6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBXaGVuIHRoZSBzbGlkZXIgaXMgYWN0aXZlIGEgY2xhc3MgZ2V0cyBhZGRlZCB0byB0aGUgcmVsZXZhbnQgaW5wdXQuXHJcbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCk7XHJcbiAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaG9kYXcgJHRyYW5zaXRpb25JbnRybztcclxufVxyXG5cclxuLy8gSWYgeW91IGhhdmUgc29tZSBsZWFkIGluIHRleHQuXHJcbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGljay1uLW1peC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSwgbWVkaXVtKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IGxpc3QgZWRpdCBidXR0b24gLS0tLSBcclxuI3Byb2R1Y3RMaXN0SXRlbXMge1xyXG4gICAgJi5saXN0IHtcclxuICAgICAgICAucGljay1uLW1peC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCYXNrZXQgc3R5bGVzIC0tLS0tIFxyXG4vLyAtLS0gRGlzcGxheSBzZWxlY3Rpb24gLS0tIFxyXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbn0iLCIvKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXHJcblxyXG5cclxuY2FudmFzIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufSIsIlxyXG5cclxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUb3AgYmFyIC0tLS0tXHJcblRoaXMgaGFzIGhhZCB0byBiZSB3cml0dGVuIGR1ZSB0byBmb3VuZGF0aW9uJ3MgdG9wLWJhciBjdXJyZW50bHkgZG9lc24ndCBzdXBwb3J0IGNlbnRlcmVkIGl0ZW1zLCB5b3Ugb25seSBnZXQgdGhlIG9wdGlvbiB0b3AtYmFyLWxlZnQgJiB0b3AtYmFyLXJpZ2h0LCB0aGUgZGVzaWduIGNhbGxzIGZvciB0aGUgY3VycmVuY3kgc2VsZWN0b3IgdG8gYmUgaW4gdGhlIG1pZGRsZS5cclxuKi9cclxuXHJcbi50b3AtYmFyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLnVwcGVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgID51bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItdXBwZXItcGFkZGluZywgMSkgMTVweDtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b3AtYmFyLWNlbnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gSGVhZGVyIFVwcGVyIGNvbG91ciBjb250cmFzdCBwcm9jZXNzaW5nIC0tLS0tIFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRtZW51LWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJG1lbnUtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkbWVudS1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGFjdGl2ZSksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgLy8gU28gaXQgYXBwZWFycyBhYm92ZSB0aGUgc2VhcmNoIGJhciBpbiB0aGUgaGVhZGVyLlxyXG4gICAgICAgIC8vIHotaW5kZXg6IDEwMDAwMDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogJGhlYWRlci11cHBlci1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdXBwZXItcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRoZWFkZXItdXBwZXItZm9udC1zdHlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJGhlYWRlci11cHBlci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXVwcGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci11cHBlci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXVwcGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci11cHBlci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zaXRlLXNldHRpbmctbWVudSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgYml0IGhlYXZ5IGhhbmRlZCBhbmQgbWF5IG5lZWQgdG8gYmUgbWFkZSBtb3JlIGZsZXhpYmxlIGluIHRoZSBmdXR1cmUgYnV0IGp1c3QgbWFraW5nIHN1cmUgdGhhdCBidXR0b24gLyB0ZXh0IGNvbG91ciBpcyBsZWdpYmxlICYgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgIEBpZiAkaGVhZGVyLXVwcGVyLWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXVwcGVyLWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICRoZWFkZXItdXBwZXItYm9yZGVyIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItdXBwZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRlci11cHBlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiXHJcblxyXG5AbWl4aW4gc2V0LXN0eWxlLWd1aWRlLWNvbG91cigkY29sb3VyLW5hbWUsICRjb2xvdXJzKSB7XHJcbiAgICAvLyBDaGVjayBpZiB2YXJpYWJsZSBleGlzdC5cclxuICAgIEBpZiBub3QgKHZhcmlhYmxlLWV4aXN0cygkY29sb3VyLW5hbWUpKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29sb3VyIG1hcCBcIiAjeyRjb2xvdXItbmFtZX0gXCIgZG9lc24ndCBleGlzdCBmb3Igc2l0ZSAjeyRzaXRlfVwiO1xyXG4gICAgfVxyXG4gICAgQGVhY2ggJGxpZ2h0bmVzcywgJGNvbG91ciBpbiAkY29sb3VycyB7XHJcbiAgICAgICAgLiN7JGNvbG91ci1uYW1lfS1saWdodG5lc3MtI3skbGlnaHRuZXNzfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctcGFnZS1oZWFkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDI1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWhlYWRpbmcge1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pbnRybyB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxufVxyXG5cclxuLnNnLXN1Yi1oZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLXN1Yi1kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uc2ctY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjMtNTtcclxufVxyXG5cclxuLnNnLWRlbW8tbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIsXHJcbi5jc3MtcHJvcGVydHktdmlldyB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAzcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBwLFxyXG4gICAgbGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1pbmZvLWxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pdGVtLXNlcGVyYXRvciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxufVxyXG5cclxuLnNnLWNlbGwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAxMHB4IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbn1cclxuXHJcbi5zZy1jb2xvdXItcGFsZXR0ZSB7XHJcbiAgICAuZ3JpZC1jb2xsZWN0aW9uLXgge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbG91ci1ibG9jayB7XHJcbiAgICAkY29sb3VyLWJsb2NrLW1hcmdpbjogNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogJGNvbG91ci1ibG9jay1tYXJnaW4gMDtcclxuICAgIHBhZGRpbmc6IDhweCA4cHggNnB4O1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmxpZ2h0ZW5lZC1wZXJjZW50YWdlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogJGNvbG91ci1ibG9jay1tYXJnaW47XHJcbiAgICAgICAgbGVmdDogJGNvbG91ci1ibG9jay1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXItaGV4LWxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy02IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTc7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC02IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTc7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2LTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjYtMjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0xXCIsICRhY2NlbnQtY29sb3VyLTEpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItMlwiLCAkYWNjZW50LWNvbG91ci0yKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTNcIiwgJGFjY2VudC1jb2xvdXItMyk7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci00XCIsICRhY2NlbnQtY29sb3VyLTQpO1xyXG5cclxuICAgIC5zdWNjZXNzLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC53YXJuaW5nLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnByaWNlLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAuc2F2aW5nLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC5ycnAtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnJwLWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWJ1dHRvbnMge1xyXG4gICAgLnNnLWNvbXBhcmlzb24tdGFibGUgLmFjdGlvbi1idXR0b24ge1xyXG4gICAgICAgIC8vIEZvcmNlIHRoZSBhbGlnbm1lbnQgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN0eWxlXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9uc3tcclxuICAgIHRkIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi10eXBlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAmICsgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tc3R5bGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5zZy1xdWFudGl0eS1zZWxlY3RvcnMge1xyXG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1jYWxsb3V0cyB7XHJcbiAgICAuY2FsbG91dC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWNvbXBhcmlzb24tdGFibGUge1xyXG4gICAgdGgge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3RhYmxlLW9mLWNvbnRlbnRzLXN0aWNreS1jb250YWluZXIgLnN0aWNreSB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4udGFibGUtb2YtY29udGVudHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG4gICAgLmhlYWRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbnMge1xyXG4gICAgICAgIC8vIFF1aWNrIGFuZCBkaXJlY3R5IHNvbHV0aW9uIGFzIGZvdW5kYXRpb24ncyBzdGljayBpcyBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBzdGlja3kgY29udGFpbmVyIGJhc2VkIG9uIHRoZSBjb250ZW50IHdoaWNoIGdvZXMgb2ZmIHRoZSB2aWV3cG9ydCBkdWUgdG8gdGhlIHN0aWNreSBoZWFkZXIsIHRoaXMgd2lsbCBuZWVkIHF1aXRlIGEgYml0IG9mIHdvcmsgdG8gdGFrZSB0aGUgc3RpY2t5IGhlYWRlciBpbnRvIGFjY291bnQgd2hpY2ggY3VycmVudGx5IHdlIGRvbnQgaGF2ZSB0aW1lIGZvci5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC42cyBlYXNlLWluO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM2NTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC42cyBlYXNlLWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC40cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogVGhpcyBzdHlsZXMgdGhlIGV4YW1wbGUgcm93cyB1c2VkIGluIHRoZSBncmlkIGRvY3VtZW50YXRpb24uICovXHJcbi5ncmlkLXguZGlzcGxheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsOm50aC1jaGlsZCgyKSxcclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLnNtYWxsLWNlbnRlcmVkLFxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwubGFyZ2UtY2VudGVyZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2UxZTFlMTtcclxufVxyXG5cclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmNvbG9yLWVuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0O1xyXG59XHJcblxyXG4uc2ctaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lci5wYWRkZWQge1xyXG4gICAgcGFkZGluZy10b3A6IDJyZW07XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbjtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYTpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTQ2OGEwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUubWVudSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxufSIsIi8qXHJcbi0tLS0tIEFkbWluIC0tLS0tXHJcblRoaXMgd2lsbCBwb3RlbnRpYWwgaGFuZCB2bUFkbWluIHYyLlxyXG4qL1xyXG5cclxuXHJcblxyXG4udm1hZG1pbi1lZGl0b3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuaW5saW5lLWVkaXRvciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTMwcHg7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgICYuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xyXG4gICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBja2VkaXRvcidzIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRlbXAgZml4IGZvciBvdmVycmlkaW5nIGNrZWRpdG9yIHN0eWxlcy5cclxuICAgICAgICAmLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBFZGl0b3IgaW5pdGlhbCBjb250cm9scy5cclxuICAgIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBUT0RPOiBqdXN0IHRlbXAgdXNpbmcgdGhpcyB2YXIuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xyXG4gICAgICAgIC8vIENvbW1vbiBidXR0b24gc3R5bGluZy5cclxuICAgICAgICAuYWRtaW4tYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICsgZGl2IHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLnByb3BlcnR5LWVkaXRvciB7XHJcbiAgICAgICBcclxuICAgIH1cclxufVxyXG4vLyBQcm9wZXJ0eSBlZGl0b3IgdHJpZ2dlciBidXR0b24uXHJcbi5wcm9wZXJ0eS1lZGl0b3ItdHJpZ2dlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjAxMyc7XHJcbiAgICB9XHJcbn1cclxuLy8gQ29udGVudCBlZGl0b3IgdHJpZ2dlciBidXR0b24uXHJcbi5jb250ZW50LWVkaXRvci10cmlnZ2VyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDQ0JztcclxuICAgIH1cclxufVxyXG4vLyBFZGl0b3Igc2F2ZSBidXR0b24uXHJcbi5lZGl0b3Itc2F2ZS1idXR0b24ge1xyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjBjNyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEVkaXRvciBjYW5jZWwgYnV0dG9uLlxyXG4uZWRpdG9yLWNhbmNlbC1idXR0b24ge1xyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcblxyXG5cclxuXHJcblxyXG5cclxuLm9mZi1jYW52YXMtaGVhZGVyIHtcclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICB9XHJcbiAgICAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cclxuXHJcbi8vIC0tLS0tIFJlc3BvbnNpdmUgVGFicyBoZWFkZXIgLS0tLS0gXHJcbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIC5yZXNwb25zaXZlLXRhYnMtY29udHJvbHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplO1x0XHRcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gR2VuZXJhbCBzdHlsaW5ncyAtLS0tXHJcbi8vIElEIHJlZmVyZW5jZSBjYW4gZ28gYWZ0ZXIgODIzOTQzIGlzIGNvbXBsZXRlLlxyXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAmLmNvbXBvbmVudC1yZWFkeSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlc3BvbnNpdmUtdGFicyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLmNvbXBvbmVudC1yZWFkeSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICY6aGFzKC50YWJzLnZlcnRpY2FsKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYuYWNjb3VudC1hcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyLCAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQgIHtcclxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgICAgIC50YWJzLXRpdGxlIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMge1xyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAuMnMsIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBQdXQgdGFicyBjb250ZW50IGludG8gY29udGV4dC5cclxuICAgICAgICAgICAgJiArIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGFicy10aXRsZS1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10YWJzLXRpdGxlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRhYnMtdGl0bGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQWRkZWQgdGhpcyBydWxlIGFzIHdoZW4gaW4gYWNjb3JkaW9uIHZpZXcgb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlIHRoZXJlIHdhcyB0d28gcnVsZXMgYmVpbmcgYWRkZWQsIHRoaXMgb25lIGFuZCB0aGUgYWNjb3JkaW9uIHRpdGxlIGFzIHdlbGwsIHRoaXMgaXMgb3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgY3NzLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCxcclxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwicHJlc2V0XCJdKSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtdGFiLXNwZWNpZmljaWF0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBwYWRkaW5nIGR1ZSB0byBjb25mbGljdGluZyB3aXRoIHRoZSBwYWRkaW5nIGZvciBzdGFyIHJhdGluZy5cclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAvLyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHBhZGRpbmcgZHVlIHRvIGNvbmZsaWN0aW5nIHdpdGggdGhlIHBhZGRpbmcgZm9yIHN0YXIgcmF0aW5nLlxyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyB0byBtYWtlIG1vcmUgZ2VuZXJhbCBwdXJwb3NlLCB1c2UgY29udGFpbmVyIGNsYXNzZXMgaWYgbmVlZGVkLlxyXG4gICAgICAgICAgICAgICAgLy9mb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgZWZmZWN0IHRoZSBwcm9kdWN0IHBhZ2UsIHRoaXMgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGRlZmF1bHQgdGFibGUgY2xhc3NpbmcgKCBwcmVzZXQtMSApIGFuZCB0ZXh0LWVxdWFsaXNlciAoIGNvbHVtbiBhbGlnbm1lbnQgKS5cclxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgLnRhYmJlZC1jbXMtZW50cnksIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gT25seSBkbyB0aGlzIGZvciB0YWJiZWQgbm90ZXMsIG90aGVyd2lzZSB0aGUgcnVsZXMgZ2V0IGluIHRoZSB3YXkgb2Ygb3RoZXIgY2xhc3NlcyAoIGkuZSBwcmljaW5nIClcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgZmlyc3QgY29sdW1uIGxpa2UgaXQgaXMgdGhlIGhlYWRlciBpbiB0ZXJtcyBvZiB0eXBvZ3JhcGh5ICggd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBjb2xvdXIuLi4uICkuXHJcbiAgICAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCwgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBUYWJzIHN0eWxpbmcgLS0tLVxyXG4udGFicyB7XHJcbiAgICAkdGFic0JvcmRlckJvdHRvbTogMXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1ib3R0b206ICR0YWJzQm9yZGVyQm90dG9tIHNvbGlkICRjb2xvdXIzLTEgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGluZyBGb3VuZGF0aW9uXHJcbiAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyAvLyBPdmVycmlkaW5nIEZvdW5kYXRpb24gJiB0aGUgSlMgZG9lc24ndCBhcHBseSBcIiBob3Jpem9udGFsIFwiIGNsYXNzIHNvIHdlIGhhdmUgdG8gb3ZlcnJpZGUgb3VyICBkZWZhdWx0LlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIHJ1bGUgdGhhdCBnb2VzIGFjcm9zcyBhbGwgb2YgdGhlIHRhYnMuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHRhYnNCb3JkZXJCb3R0b207XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLSN7JHRhYnNCb3JkZXJCb3R0b219O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTsgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtaWNvbi1zaXplOyAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gQWNjb3JkaW9ucyAtLS0tLVxyXG4uYWNjb3JkaW9uIHtcclxuICAgICRhY2NvcmRpb24tc3BhY2luZzogMTBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8vIEFkZCBzbWFsbCBhbW91bnQgb2YgcGFkZGluZyB3aGVuIGluIG1vYmlsZSBmb3IgdGhlIHByb2R1Y3QgcGFnZS5cclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gRm9yIHRoaXMgdG8gd29yayB5b3UgaGF2ZSB0byB3cmFwIHRoZSB0aXRsZSB0ZXh0IGluIGEgc3Bhbi50aXRsZS5cclxuICAgICYucGFuZWwtc3RhdGUtaW5kaWNhdG9yLWZpcnN0IHtcclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmFkaW8taW5kaWNhdG9ycyB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICB9XHJcbiAgICAvLyBJZiBvbmx5IG9uZSBjaGlsZCB0aGVuIHN1cHByZXNzIHRpdGxlICggZS5nLiBwYXltZW50IG1ldGhvZHMgKS5cclxuICAgICYuc3VwcHJlc3MtdGl0bGUtc2luZ2xlLWNoaWxkIHtcclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgZGVmYXVsdCksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGFjY29yZGlvbnMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYWNjb3JkaW9ucy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBoaWdobGlnaHRlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtY2xvc2VkKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbnMtYXJyb3ctZm9udC1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY29yZGlvbnMtYXJyb3ctY29sb3VyKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE3NXB4OyAvLyBkZWZhdWx0LlxyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1hY3RpdmUge1xyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtb3Blbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYWNjb3JkaW9uLXNwYWNpbmc7XHJcbiAgICAgICAgJjpub3QoLmlzLWFjdGl2ZSkge1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHdlaXJkIGJvcmRlciB0aGF0IGlzIGZvdW5kIGVtaXR0aW5nIHdoZW4gd2Ugcm91bmQgb3ZlciB0aGUgY29ybmVycyBvZiB0aGUgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH0gI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcclxuICAgIH1cclxufVxyXG5cclxuLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcsIDAsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nLCAwLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4vLyBEaXNwbGF5cyB0aGUgdmFyaW91cyBmaWxlIGF0dGFjaG1lbnRzIHRoYXQgY2FuIGJlIGFzc2lnbmVkIHRvIGEgc3RvY2sgaXRlbS5cclxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0YWNobWVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAkZmlsZS1hdHRhY2htZW50LXBhZGRpbmc7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWxlLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRmaWxlLWFuY2hvci1mb250LXNpemU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdW5rbm93bik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB1bmtub3duKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmaWxlLWljb25zLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb2NodXJlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgYnJvY2h1cmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgYnJvY2h1cmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2VyLWd1aWRlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdXNlci1ndWlkZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdXNlci1ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhcnRzLWRpYWdyYW0ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwYXJ0cy1kaWFncmFtKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwYXJ0cy1kaWFncmFtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud29yZCwgW2hyZWYkPScuZG9jJ10sIFtocmVmJD0nLmRvY3gnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHdvcmQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHdvcmQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wb3dlcnBvaW50LCBbaHJlZiQ9Jy5wcHQnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBvd2VycG9pbnQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBvd2VycG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leGNlbCwgW2hyZWYkPScueGxzJ10sIFtocmVmJD0nLnhsc3gnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGV4Y2VsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBleGNlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBkZiwgW2hyZWYkPScucGRmJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwZGYpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGRmKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3N2LCBbaHJlZiQ9Jy5jc3YnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGNzdik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgY3N2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtYXR0YWNobWVudCwgW2hyZWYkPScuanBnJ10sIFtocmVmJD0nLnBuZyddLCBbaHJlZiQ9Jy5naWYnXSwgW2hyZWYkPScud2VibSddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgaW1hZ2UpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGltYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8tYXR0YWNobWVudCwgW2hyZWYkPScubW92J10sIFtocmVmJD0nLm1wNCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdmlkZW8pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHZpZGVvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuemlwLCBbaHJlZiQ9Jy56aXAnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHppcCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgemlwKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gU3RpY2t5IC0tLS0tLSBcclxuU3RpY2t5IGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBidWlsZCBvbnRvcCBvZiBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3Mvc3RpY2t5Lmh0bWwuXHJcblxyXG5bSU1QT1JUQU5UXSAtIFRoaXMgQ1NTIGlzIG5vdCBmb3IgdGhlIGJhc2tldCBzdW1tbWFyeSBvciB0aGUgaGVhZGVyIHBsZWFzZSB2aWV3IGhlYWRlci5zY3NzIGFuZCBiYXNrZXQuc2NzcyBmb3IgdGhhdC5cclxuKi9cclxuXHJcblxyXG5cclxuLnN0aWNreSB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYuZWxlbWVudC1ub3QtaW4tdmlld3BvcnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50XHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0ge1xyXG4gICAgLy8gU2NhbGUgZnVsbCB3aWR0aCBvZiBjb250YWluZXIgdG8gYWxsb3cgZm9yIHN0aWNreSBidXR0b25zIGFsd2F5cyBiZSBwaW5uZWQgdG8gdGhlIHJpZ2h0LlxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1heGlzLXN0aWNreV0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbltkYXRhLXN0aWNreS1jb250YWluZXJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxMjhweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHM6IChcclxuICAgIGxhcmdlOiAobWFwLWdldCgkYnJlYWtwb2ludHMsIGxhcmdlKSArIChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCkgKiAyKSlcclxuKTtcclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgLy8gYm94LXNoYWRvdzogMHB4IDJweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuNSk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIG1hbmFnZSBjYWxscyB0byBwcmV2ZW50IGxhcmdlIGJyZWFrcyBpbiB0aGUgbWFpbiBjb250ZW50LlxyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5zdGlja3kge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEZpeCBpbnRvIHBsYWNlIHN0b3AgZGVmYXVsdCBiZWhhdm91ciBmcm9tIHRha2luZyBvdmVyIG9uIG1vYmlsZS5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyBcclxuICAgICAgICAvLyAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykgZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuXHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgJHJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgLy8gUmVzZXQgcmFkaXVzIGlmIG5vdCBmaXJzdCBvciBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgIGJ1dHRvbixhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgJHJhZGl1cyAwIDA7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgJHJhZGl1cztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIC8vICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTRweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIExpc3QgU29ydGluZyBPcHRpb25zICAtLS0tLVxyXG4tIEhvbGRzIHRoZSBzdHlsZXMgZm9yIHRoZSBmb2xsb3dpbmc6IFxyXG4gIC0gUHJvZHVjdCBsaXN0KHMpXHJcbiAgLSBBY2NvdW50IGFyZWEgc29ydGluZyAoIGhpc3RvcmljYWwgdHJhbnNhY3Rpb25zLCBjYWxsIHN5c3RlbSwgb3JkZXJzIClcclxuLSBUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMgd2lsbCBiZSBmb3VuZCBoZXJlOiBcclxuICAtIExpc3QgaXRlbSBjb3VudFxyXG4gIC0gU29ydCBieSBcclxuICAtIEZpbHRlcnMgdG9nZ2xlICggSWYgb3BlbmluZyBhIHBvcHVwIClcclxuICAtIFZpZXcgc3dpdGNoZXIgKCBHcmlkIG9yIFRhYmxlIClcclxuICAtIFBhZ2luYXRpb24gXHJcbiAgLSBJdGVtcyBwZXIgcGFnZS5cclxuKi9cclxuXHJcblxyXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcclxuICAgIC8vIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgLy8gICAgIGhlaWdodDogKCRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQgLSAxMCk7XHJcbiAgICAvLyB9XHJcbiAgICAuY29udHJvbCAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcCk7XHJcbiAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgQGlmICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgPD0gNDBweCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3J0LW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kb3dubG9hZC1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLSN7KCgkc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwICsgJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aCkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbW9uLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogI3soJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcCArICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGgpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gUmVzdWx0cyBkaXNwbGF5IC0tLVxyXG4gICAgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuaXRlbS1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGNvdW50KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgY291bnQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuQVhJU1Jlc3VsdERpc3BsYXksIC5pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb3J0aW5nLWl0ZW1zLWZvdW5kLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEZpbHRlciB0b2dnbGUgLS0tXHJcbiAgICAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBmaWx0ZXItdG9nZ2xlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgXHJcbiAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGZpbHRlci10b2dnbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlsdGVyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGl2ZS1maWx0ZXItY291bnQge1xyXG4gICAgICAgICAgICB0b3A6IC02cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBDYWxsIHNlYXJjaCAtLS0gXHJcbiAgICAuY2FsbC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgY2FsbC1zZWFyY2gpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgY2FsbC1zZWFyY2gpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpbnB1dCwgaW5wdXQgKyBidXR0b24sIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQnJhbmNoIFNlbGVjdG9yIC0tLSBcclxuICAgIC5icmFuY2gtZmlsdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3QsIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBTb3J0IGRyb3AgZG93biAtLS1cclxuICAgIC5BWElTU29ydEZvcm0sIC5saXN0LXNvcnQtYnktY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgc29ydC1ieSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBzb3J0LWJ5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHotaW5kZXggZHVlIHRvIG92ZXJsYXBwaW5nIHByaW50ZXIgd2l6YXJkIGRyb3Bkb3ducyA4MTM2MDhcclxuICAgICAgICAgICAgLy8gei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBUbyBicmluZyBoZWlnaHQgaW5saW5lIHdpdGggb3RoZXIgc29ydGluZyBidXR0b25zLlxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFBhZ2UgdmlldyAtLS1cclxuICAgIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtdmlldy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHZpZXcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCB2aWV3KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSwgLnZpZXctY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gVmFyaW91cyBzdGF0ZXMuIFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBGYWxsYmFjayBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4NDAxOTkgaGFzIGJlZW4gY29tcGxldGVkICggZXNzZW50aWFsbHkgcmV2ZXJzaW5nIGxvZ2ljIHdoaWNoIGlzIGluY29uc2lzdGFueSB3aXRoIEl0ZW1zIFBlciBMaXN0IGFuZCBQYWdpbmF0aW9uICkuXHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3R3JpZCwgJi5BWElTVmlld0xpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIEdlbmVyYWxpc2VkIGljb24gc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWNvbiBzcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3R3JpZCwgJi5ncmlkIHtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaXN0LWdyaWQtdmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0xpc3QsICYubGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlzdC10YWJsZS12aWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLy0tLSBQZXIgUGFnZSAtLS1cclxuICAgIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMjVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSAxNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5FVyBWRVJTSU9OIE9GIEFYSVNQZXJQYWdlQ29udGFpbmVyICggZm9sbG93aW5nIGV4cHJlc3MgbmFtaW5nIGNvbnZlbnNpb25zICsgcmVkdWNlZCBtYXJrdXAgKS5cclxuICAgIC8vIElmIGl0ZW0gcGVyIGxpc3QgaXMgdGhlIGZpcnN0IGl0ZW0gaW4gc29ydGluZyBiYXIgdGhlbiBwdXNoIHRvIHRoZSByaWdodC5cclxuICAgIGRpdjpmaXJzdC1jaGlsZC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRpdGVtcy1wZXItbGlzdC13aWR0aCk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBlci1wYWdlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGl0ZW1zLXBlci1saXN0LXdpZHRoKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBlci1wYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLnBhZ2luYXRpb24tY29udGFpbmVyLCAmICsgLkFYSVNQYWdlTnVtYmVyaW5nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBQYWdpbmF0aW9uIC0tLVxyXG4uQVhJU1BhZ2VOdW1iZXJpbmcsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCwgMik7XHJcbiAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGFnaW5hdGlvbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAyNSU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBEb24ndCBzZXQgZmxleDogMTsgYXMgdGhhdCBwdXNoZXMgYWxsIHRoZSBwcmVjZWVkaW5nIGNvbnRlbnQgdG8gbGVmdCBubyBpZGVhIGZvciB0aGUgc29ydGluZyBiYXIgYXQgdGhlIGJvdHRvbSBvZiBhIGxpc3QgYXMgaXQgY2F1c2VzIGFsaWdubWVudCBpc3N1ZXMuXHJcbiAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGdhcDogMCAje3NwYWNpbmctdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXAsIDIsIGxhcmdlKX07XHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGFnaW5hdGlvbik7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSAxMHB4O1xyXG4gICAgICAgIC8vbWFyZ2luOiAwIDIuNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLy8gICAgIC8vIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VsZWN0ZWQsICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4ucGFnaW5hdGlvbkxhYmVsLCAucGFnaW5hdGlvbi1sYWJlbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgZGlzcGxheTogJHBhZ2luYXRpb24tbGFiZWwtZGlzcGxheTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbn0iLCJcclxuLyoqXHJcblxyXG4tLS0tIE1hbmFnZSBDYWxscyAtLS0tIFxyXG5cclxuLSBGb3JtYWxseSBrbm93IGFzIHRoZSBjYWxsIHBvcnRhbCBiZWZvcmUgaXQgZ290IGVtYmVkZGVkIGluIGV4cHJlc3MsIG1hbmFnZSBjYWxscyBpcyBhY2NvdW50IGZ1bmN0aW9uYWxpdHkgdGhhdCBkaXNwbGF5cyBjYWxscyBpbiBhIGxpc3QgaW4gZXhwcmVzcy5cclxuLSBTdHlsZXMgaW5jbHVkZWQgaGVyZTogXHJcbiAgLSBMaXN0IGZvciBjYWxsIGxpc3QgKyBldmVudHMgbGlzdC5cclxuICAtIEVucXVpcnkgc3VtbWFyeS5cclxuICAtIENhbGwgcmF0aW5nIGZvbnRzLlxyXG4gIC0gU3RpY2t5IGJ1dHRvbnMgaWNvbnMuXHJcbioqL1xyXG5cclxuLmVucXVpcnktaGVhZGVyLXNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLWVucXVpcnktaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgLy8gRW5zdXJlIGJhY2tncm91bmQtY29sb3IgZ2V0cyByZW5kZXJlZCBpbiBwcmludCBtb2RlLlxyXG4gICAgLy8gcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAvLyAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjYWxsLWVucXVpcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFsbG93aW5nIHRoZSBjb250YWluZXIgdG8gZGljdGF0ZSB0aGUgcGFkZGluZy5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktY29udGVudC1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZW5xdWlyeS1oZWFkZXItaGVhZGluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsZXMgZHVlIHRvIGlucHV0IGJlaW5nIG9uIGEgYmFja2dyb3VuZC5cclxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhbGwgUmF0aW5nIC0tLS0tXHJcbi5jYWxsLXJhdGluZy1jb250YWluZXIge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYWdlLXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgICYubGlzdC12aWV3IHtcclxuICAgICAgICB3aWR0aDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yYXRpbmctbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIC5yYXRpbmctaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC5jYWxsLXJhdGluZy12YWx1ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0wIHtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWNhbm5vdC1yYXRlKSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnVucmF0ZWQgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXVucmF0ZWQpKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMSAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy12ZXJ5LWJhZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTIgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctYmFkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMyAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1hdmVyYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tNCAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1nb29kKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tNSAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy12ZXJ5LWdvb2QpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXMgZGVmYXVsdCBzY2FsZSB0byB0aGUgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhlIGljb24gaXMgYSByYWRpbyBidXR0b24gdGhlbiBsaW1pdCB0aGUgd2lkdGguXHJcbiAgICAgICAgLnJhZGlvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDYWxsIHVyZ2VuY3kgaWNvbnMuXHJcbi5jYWxsLXVyZ2VuY3ktaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgICYubG93IHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktbG93KX0pO1xyXG4gICAgfVxyXG4gICAgJi5tZWRpdW0ge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1tZWRpdW0pfSk7XHJcbiAgICB9XHJcbiAgICAmLmhpZ2gge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1oaWdoKX0pO1xyXG4gICAgfVxyXG4gICAgJi5jcml0aWNhbCB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWNyaXRpY2FsKX0pO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJnZW5jeS1pbWFnZS11cmwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcclxuICAgIC5idXR0b24taWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWJhY2stdG8tbGlzdDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLWxpc3QpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWxpc3QtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1yZXF1ZXN0LWFyY2hpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yZXF1ZXN0LWFyY2hpdmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLXJlcXVlc3QtYXJjaGl2ZS1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWFkZC1pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLWFkZC1pbmZvKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1hZGQtaW5mby1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWNyZWF0ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXctY2FsbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLW5ldy1jYWxsLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuY2FsbC10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc6IDEwcHg7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcbiAgICAmLmVucXVpcnktdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1jb2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpICsgMTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51bnJlYWQtY29sIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgdGQuY2FsbC1udW1iZXItY29sLCB0aC5jYWxsLW51bWJlci1jb2wsIC5jYWxsLW51bWJlci1jb2wge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmN1c3RvbWVyLW5hbWUtY29sLCB0aC5jdXN0b21lci1uYW1lLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5yYXRpbmctY29sKSB7XHJcbiAgICAgICAgdGQuc3ViamVjdC1jb2wsIHRoLnN1YmplY3QtY29sLCAuc3ViamVjdC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc3ViamVjdC1jb2wsIHRoLnN1YmplY3QtY29sLCAuc3ViamVjdC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMuNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMS41JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0aC5jYWxsLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXNlci1jb250YWN0LWNvbCwgdGgudXNlci1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNyZWF0ZWQtY29sLCB0aC5jcmVhdGVkLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNy43JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5sYXN0LXVwZGF0ZWQsIHRoLmxhc3QtdXBkYXRlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNy43JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5yYXRpbmctY29sLCB0aC5yYXRpbmctY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51cmdlbmN5LWNvbCwgdGgudXJnZW5jeS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnR5cGUtY29sLCB0aC50eXBlLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNvdXJjZS1jb2wsIHRoLnNvdXJjZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRhdGEtdGltZS1jb2wsIHRoLmRhdGUtdGltZS1jb2wge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5ub3Rlcy1jb2wsIHRoLm5vdGVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnRpbWVzdGFtcC1jb2wsIHRoLnRpbWVzdGFtcC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNoYW5nZXMtY29sLCB0aC5jaGFuZ2VzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFzIHdlIGFkZCBhIHBhZGRpbmcgUiArIEwgdG8gdGhlIHRkIHdlIG5lZWQgdG8gY29tcGVuc2F0ZSBmb3IgdGhhdC5cclxuICAgIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcclxuICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgfVxyXG4gICAgLy8gUHJldmVudCBsb25nIHN0cmluZ3Mgb2YgdGV4dCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXHJcbiAgICAuY2FsbC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG4gICAgfVxyXG4gICAgdHIuY2FsbC1jbG9zZWQge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbm90KFwiLnJhdGluZy1jb2xcIiwgXCIudW5yZWFkLWNvbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnF1aXJ5LWZpbHRlcnMge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHNwYW4uY2hlY2tib3gsIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY2FsbC10eXBlLWljb24ge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgLy8gRml4IGZvciBpY29ucyBub3cgc2hvd2luZyBpbiBwcmludGVyIG1vZGUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjY3MDE1MS9ob3ctY2FuLWktZm9yY2UtYnJvd3NlcnMtdG8tcHJpbnQtYmFja2dyb3VuZC1pbWFnZXMtaW4tY3NzLiBcclxuICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XHJcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGNhbGwtZW5xdWlyeS1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBzdGF0aWMgYnVpbGQuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAmLmF0dGFjaG1lbnQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1BdHRhY2htZW50LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmF0dGFjaG1lbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtYXR0YWNobWVudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNhbGwtcHJpdmFjeSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNhbGxQcml2YWN5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNhbGwtcHJpdmFjeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1wcml2YWN5KTtcclxuICAgIH1cclxuICAgIC8vICYuY2FsbC10eXBlIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2FsbFR5cGUucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2FsbC10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXR5cGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jbGFzc2lmaWNhdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNsYXNzaWZpY2F0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNsYXNzaWZpY2F0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNsYXNzaWZpY2FpdG9uKTtcclxuICAgIH1cclxuICAgIC8vICYuY29tcGxldGVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29tcGxldGVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbXBsZXRlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb21wbGV0ZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250YWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udGFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRyYWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udHJhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udHJhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udHJhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250cmFjdC10eXBlIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udHJhY3RUeXBlLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRyYWN0LXR5cGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udHJhY3QtdHlwZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNyZWF0ZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DcmVhdGVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNyZWF0ZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY3JlYXRlZCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmRlZmVycmVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259RGVmZXJyZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuZGVmZXJyZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtZGVmZXJyZWQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5lc2NhbGF0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259RXNjYWxhdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5lc2NhbGF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWVzY2FsYXRpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbXBhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbXBhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW1wYWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWltcGFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmluYm91bmQtcGhvbmUtY2FsbCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUluYm91bmRQaG9uZUNhbGwucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW5ib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWluYm91bmQtcGhvbmUtY2FsbCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmluZm9ybWF0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW5mb3JtYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW5mb3JtYXRpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5saW5rIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259TGluay5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5saW5rOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWxpbmspO1xyXG4gICAgfVxyXG4gICAgLy8gJi5vdXRib3VuZC1waG9uZS1jYWxsIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259T3V0Ym91bmRQaG9uZUNhbGwucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYub3V0Ym91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1vdXRib3VuZC1waG9uZS1jYWxsKTtcclxuICAgIH1cclxuICAgIC8vICYucHJpb3JpdHkge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Qcmlvcml0eS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5wcmlvcml0eTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1wcmlvcml0eSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnJlc3BvbnNpYmlsaXR5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259UmVzcG9uc2liaWxpdHkucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYucmVzcG9uc2libGl0eTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1yZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnNob3J0Y3V0LXNlbnQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TaG9ydGN1dFNlbnQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc2hvcnRjdXQtc2VudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zaG9ydGN1dC1zZW50KTtcclxuICAgIH1cclxuICAgIC8vICYuc2xhLWluY2x1c2lvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVNMQUluY2x1c2lvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zbGEtaW5jbHVzaW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXNsYS1pbmNsdXNpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zdGF0dXMge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TdGF0dXMucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc3RhdHVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXN0YXR1cyk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnVuZGVmZXJyZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1VbmRlZmVycmVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnVuZGVmZXJyZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdW5kZWZlcnJlZCk7XHJcbiAgICB9XHJcbiAgICAmLnVyZ2VuY3k6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdXJnZW50KTtcclxuICAgIH1cclxuICAgIC8vICYud29ya2Zsb3cge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Xb3JrZmxvdy5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi53b3JrZmxvdzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS13b3JrZmxvdyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsLXNvdXJjZS1pY29uIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICRjYWxsLWVucXVpcnktaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RhdGljIGJ1aWxkLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVzZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS11c2VyKTtcclxuICAgIH1cclxuICAgICYucG9ydGFsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtcG9ydGFsKTtcclxuICAgIH1cclxuICAgICYuZW1haWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS1lbWFpbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1oZWFkaW5nIHtcclxuICAgIG1hcmdpbjogJG1hbmFnZS1jYWxscy10YWJsZS1oZWFkaW5nLW1hcmdpbjtcclxufSIsIi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cclxuXHJcbi5iYWNrLXRvcC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24td2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLWhlaWdodCk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBAaWYgJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0IHtcclxuICAgICAgICByaWdodDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCk7XHJcbiAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byBhY2NvdW50IGZvciB0aGUgcmVjYXB0Y2hhIGJhZGdlLlxyXG4gICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpO1xyXG4gICAgfVxyXG4gICAgei1pbmRleDogMTUwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLWhlaWdodCk7XHJcbiAgICAgICAgQGlmICRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKTtcclxuICAgICAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIGFjY291bnQgZm9yIHRoZSByZWNhcHRjaGEgYmFkZ2UuXHJcbiAgICAgICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYWNrLXRvcC1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgJ2JhY2stdG8tdG9wJyk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhY2stdG8tdG9wLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWljb24tc2l6ZSk7IFxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1pY29uLXNpemUpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLCAmOmhvdmVyLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaWYgJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50O1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICY6YWN0aXZlOmFjdGl2ZXtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBTZWN0aW9ucyAtLS0tLSBcclxuQXhpcyB0b2dnbGVyIGlzIGJ1aWxkIG9uIHRvcCBvZiBGb3VuZGF0aW9uJ3MgVG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sIGFuZCBpcyBzaW1pbGFyIHRvIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9hY2NvcmRpb24uaHRtbCBidXQgc29tZXRpbWVzIGl0IGlzIG5vdCBwb3NzaWJsZSBjb252ZW5pZW50IHRvIGJ1aWxkIHRoZSBzZWN0aW9uKHMpIGluIDx1bD4gb3IgaW4gZGVza3RvcCB5b3UgcmVxdWlyZSB0aGUgbGF5b3V0IHRvIGJlIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRvIG1vYmlsZS5cclxuKi9cclxuXHJcbi5heGlzLXNlY3Rpb24ge1xyXG4gICAgLy8gQWxsb3cgZ3JpZC1tYXJnaW4teSBoYW5kbGUgdGhpcy5cclxuICAgIG1hcmdpbjogMDtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLW9wZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmV2ZWFsLWVuYWJsZWQge1xyXG4gICAgICAgICY6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAkdHJhbnNpdGlvbkludHJvLCBwYWRkaW5nLWJvdHRvbSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcclxuICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtY2xvc2VkKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOyBcclxuICAgICAgICBmb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cclxuXHJcbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5lbGxpcHNpcy10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyAgXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgJi5lbGxpcHNpcy1hY3RpdmUge1xyXG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgYmxhY2sgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgYW55IGFuY2hvciBvcGFjaXR5LlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cclxuXHJcblxyXG4vLy0tLSBCbHVyIEVmZmVjdCAtLS1cclxuQGlmIG5vdCAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICAvL0RPRVNOJ1QgV09SSyBJTiBJRSBPUiBFREdFXHJcbiAgICAuYmx1ciB7XHJcbiAgICAgICAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcclxuICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBibHVyIDAuNnM7XHJcbiAgICAgICAgJi5kZWZ1c2Uge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMCk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZGVmdXNlQmx1ciAwLjNzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgZGVmdXNlQmx1ciB7XHJcbiAgICAgICAgMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgMjAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDhweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgNDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgNjAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgODAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBnZXRzIGNsaWNrIHRvIGRpc2FibGUgdGhlIGJsdXIgZWZmZWN0IG9uIGNvbnRlbnQuXHJcbiNwYWdlT3ZlcmxheSwgLmJsdXItb3ZlcmxheSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgb3BhY2l0eTogMC4xO1xyXG59IiwiLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXHJcblxyXG5AaWYgKCRzaXRlID09IFwic3RhdGljXCIpIHtcclxuICAgIGhlYWRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEN1c3RvbSBzdHlsZXNoZWV0cyBsaW5rLlxyXG4gICAgLmRlbW8tbGluayB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICAvLyBEdWUgdG8gdGhlIHZhcmlhdGlvbiBpbiBoZWlnaHRzIGJldHdlZW4gc2l0ZSBsb2dvJ3Mgd2UgbmVlZCB0byBzZXQgYSBoZWlnaHQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc2l0ZS1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5zaXRlLWFyZWEtcGFnZXMge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRWZmZWN0IGFsbCB1bCdzLlxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtdmFyaWFudHMtY29udGFpbmVyIHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtdmFyaWFudCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDIuNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWFyZWEtY2VsbC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zaXRlLWFyZWEtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjdGVtcGxhdGUtZXhwcmVzcy1wYWdlLWxpc3Qge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTmVlZCB0aGlzIHNwZWNpZmljYWxseSBmb3IgdGhlIG1vZHVsZXMgdGVzdCBwYWdlcy5cclxuXHJcbiRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI6IDEwcHg7XHJcbiRtb2R1bGVzLWJ1dHRvbi1pY29uLXNpemU6IDE2cHg7XHJcbiRtb2R1bGVzLWJ1dHRvbi1wYWRkaW5nOiA1cHggMTBweDtcclxuXHJcblxyXG4ubW9kdWxlcy10ZXN0LXBhZ2UtaGVhZGVyIHtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy02O1xyXG59XHJcblxyXG4ucm93LWJhY2tncm91bmQuZ3JpZC1jb250YWluZXIge1xyXG4gICAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgIC8vIE1ha2luZyBzdXJlIHRoYXQgcm93IGFuZCBtb2R1bGUgY29udHJvbCBwYW5lbHMgY2FuIG5ldmVyIG92ZXJsYXAgKCBpLmUgaW4gY29udGFpbmVkIHZpZXcgKS5cclxuICAgICAgICB0b3A6ICN7KCRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXIgKyBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJ1dHRvbi1wYWRkaW5nLCAxKSArICRtb2R1bGVzLWJ1dHRvbi1pY29uLXNpemUgKyA1KX07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAubW9kdWxlcy1jb250cm9sLXBhbmVsIHtcclxuICAgICAgICAmLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAmLnJvdy1jb250cm9scyB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gU28gdGhlIGNvbnRyb2xzIGRvbid0IG92ZXJsYXAgd2hlbiB0aGVyZSBpcyBubyBncmlkLWNvbnRhaW5lci5cclxuICAgICYubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjtcclxuICAgIHBhZGRpbmc6ICRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIC8vIEJ1dHRvbiBzdHlsZXMuXHJcbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW9kdWxlLWluZm8ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTI5JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtaW5mby1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLm1vZHVsZXMtaW5mby1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuZ2VuZXJhbC1pbmZvcm1hdGlvbi1wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiB1bCA+IGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUsIGg2IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIFN0b2NraXN0IC0tLS0gXHJcblNwZWNpZmljYWxseSBmb3IgdGhlIHN0b2NraXNoIGNvbXBvbmVudDogXHJcbi0gU29ydGluZyBhcmVhXHJcbi0gU2VhcmNoIHJlc3VsdHMgXHJcbi0gSW50ZXJhY3RpdmUgbWFwXHJcblxyXG4qL1xyXG5cclxuXHJcbi8vIC0tLS0tIFNvcnRpbmcgQXJlYSAtLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgfVxyXG4gICAgLnNvcnRpbmctb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAuYWRkcmVzcy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWx0ZXIpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZXBhcmF0b3Ige1xyXG4gICAgICAgIG1hcmdpbjogN3B4IDAgMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbW1vbiBzdHlsZXMgZm9yIHNlYXJjaCByZXN1bHRzICsgaW50ZXJhY3RpdmUgbWFwIC0tLS0tIFxyXG4uc3RvY2tpc3QtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlYXJjaCBSZXN1bHRzIC0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRyZXNzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICsgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud2Vic2l0ZS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDVweCAzMHB4LCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCAxMiwkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAgNDBweCAwIDAsIDApKTtcclxufVxyXG5cclxuLy8gLS0tLS0gSW50ZXJhY3RpdmUgTWFwIC0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbG9jYXRpb24pO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogNjB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcbi5vcmdhbmlzYXRpb24tY29udGFpbmVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAtbm8tcmVzdWx0cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmluZm8td2luZG93LWFkZHJlc3MtdGl0bGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAuaW5mby13aW5kb3ctYWRkcmVzcywgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5mby13aW5kb3ctYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRyZWUgTWVudSAtLS0tLVxyXG5cclxuKi9cclxuXHJcblxyXG4udHJlZS1tZW51IHtcclxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XHJcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0fVxyXG4gICAgLy8gQ29tbW9uIFN0eWxlcy5cclxuICAgIHVsIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdFx0bGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcblx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdGhlaWdodDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1mb250LXNpemU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRsYWJlbC5hY3RpdmUge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBDaGlsZCBub2Rlcy5cclxuXHRcdFx0JiB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuXHRcdFx0XHQvLyBUT0RPOiB0aGlzIG5lZWRzIHRvIGJlIG1hZGUgZHluYW1pY2FsbHkuXHJcblx0XHRcdFx0Ly8gbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybywgaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuXHQvLyBMZXZlbCAxXHJcbiAgICA+IHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHRcdD4gbGkge1xyXG5cdFx0XHQ+IGxhYmVsIHtcclxuXHRcdFx0XHRwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogbGFyZ2UtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bm90KC50cmVlLW1lbnUtcGFyZW50KSB7XHJcblx0XHRcdFx0Lm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gTGV2ZWwgMlxyXG5cdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG5cdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHQvLyBVc2VkIHRvIHNob3cgdGhlIGxldmVsIDIgbm9kZXMgaW4gZ3JvdXBzLlxyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0fVx0XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgNXB4O1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KDUgKyBzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCAxLCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCA0LCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIExldmVsIDMrICggM3JkIGxldmVsIGFuZCBhbnkgbG93ZXIgKVxyXG5cdFx0XHRcdFx0IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE3cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKX07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDF9O1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjezUgKyAoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDEsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gRXh0ZW5kaW5nIGxpbmUgb3RoZXJ3aXNlIGlmIHRoaXMgaXMgbm90IHRoZSBsYXN0IGNoaWxkIHRoZW4gYSBnYXAgd2lsbCBmb3JtIGluIHRoZSB0aGUgdHJlZSdzIGxpbmVzLlxyXG5cdFx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cdFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQ+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogLSN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyICkgKyAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC50cmVlLW1lbnUtcGFyZW50IHtcclxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHVsIHtcclxuXHRcdFx0LnRyZWUtbWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSArICN7JHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemV9KTtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IC0jeyR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplfTtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAjeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpfTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0Ly8gSm9pbnMgbm9kZSB0byB0cmVlLlxyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogI3soKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSkgLSAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSl9O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMyl9O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpKX07XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICAvLyBBc3NldHMgc3R5bGVzLlxyXG4gICAgJi5hc3NldHMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHRcdD4gdWwge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWFzc2V0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0Ly8gT25seSBhZGQgdGhlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBwYXJlbnQgbm9kZSdzIGxhYmVsLlxyXG5cdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHQ+IGxhYmVsIHsgXHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWFzc2V0cy1yb290LWxhYmVsLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdH1cdFx0XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuICAgIH1cclxuXHJcblx0LmF0dGFjaG1lbnRzLWNvbnRhaW5lciB7XHJcblx0XHR1bCB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHR9XHJcblx0XHQuYXR0YWNobWVudCB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmFsZXJ0LW5vZGUge1xyXG5cdFx0PiBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLmFsZXJ0LWNvbnRhaW5lciB7XHJcblx0XHRcdC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5hbGVydC12YWx1ZSB7XHJcblx0XHRcdFx0LnZhbHVlLCAubGFiZWwge1xyXG5cdFx0XHRcdFx0Y29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC52YWx1ZSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHRcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHQuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRtYXJnaW46IDEwcHggMDtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHR9XHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHR9XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5sYWJlbCB7XHJcblx0XHRtYXgtd2lkdGg6IDIyNXB4O1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDIycHg7XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1tZW51LWhlYWRlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IDE1cHggMCAyMHB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0fVxyXG5cdC50cmVlLW1lbnUtY29udHJvbHMge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudHJlZS1tZW51LWluZm9ybWF0aW9uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudHJlZS1pbmZvcm1hdGlvbiB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHQmLmFsZXJ0IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXJnaW46IDAgMTBweCAwIDVweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyAtLS0tLSBUb2dnbGUgYnV0dG9ucyBmb3IgY29sbGFwc2luZyBvciBleHBhbmRpbmcgdGhlIGVudGlyZSB0cmVlIC0tLS0tXHJcbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogLjgxMjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjb2xvcjogJGNvbG91cjQ7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcblx0XHR3aWR0aDogMThweDtcclxuXHRcdGhlaWdodDogMThweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU7XHRcdFx0XHRcclxuXHR9XHJcblx0Ji5hY3RpdmUge1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLypcclxuLS0tLS0gUmV2aWV3cyAtLS0tLSBcclxuLSBIYW5kbGVzIGludGVyZmFjaW5nIHdpdGggdGhpcmQtcGFydHkgcmV2aWV3IGFwaSdzIGxpa2UgZmVlZm8uXHJcbiovXHJcblxyXG5cclxuLnJhdGluZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAucmV2aWV3LXN0YXJzIHtcclxuICAgICAgICBtYXJnaW46IDAgMTBweCAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5zdGFyLWZ1bGwsIFtjbGFzcyo9cmF0aW5nLWljb25dIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmF0aW5nKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXctZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAmICsgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnLSc7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kaXNwbGF5LWxvY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5saXN0LWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgLmN1cnJlbnQtc2hvd2luZy1jb3VudCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIC5yZXZpZXdzLXBhZ2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJiArIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlLXByb3ZpZGVyLWxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZlZWZvLWxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5fWZlZWZvLWxvZ28ucG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZXZpZXdzLXByb2R1Y3QtcmV2aWV3LWFsbC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJldmlldy1zb2NpYWwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciArIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgLmhlbHBmdWwtdm90ZXMtZGlzcGxheSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2b3RlLXVwKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBQYWdlIFNlY3Rpb24gQ29sb3VycyAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kLWNvbG91cnMgdG8gc3BlY2lmaWMgc2VjdGlvbnMgb24gc3BlY2lmaWMgcGFnZXMgYWNyb3NzIGV4cHJlc3MgdXNpbmcgdGhlIGJvZHkgaWQsIHNvIGEgcG90ZW50aWFsIGNvbmZpZyBjb3VsZCBsb29rIGxpa2UgdGhpczpcclxuXHJcbmhlYWRlci11c3AtYmFyOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSxcclxuICAgIHBhZ2VzOiAoXCJob21lcGFnZVwiKVxyXG4pXHJcblxyXG5UaGUgdG9wIGxldmVsIG1hcCBrZXkgaXMgdGhlIGNsYXNzIG9mIHRoZSBlbGVtZW50IHRoYXQgeW91IHdhbnQgdG8gZWZmZWN0IHRoZW4gaW5zaWRlIG9mIHRoYXQgaXMgdGhlIGNvbmZpZ3VyYXRpb24gaS5lIGJhY2tncm91bmQgY29sb3VyICsgd2hpY2ggcGFnZXMgdG8gYXBwbHkgdGhpcyB0byB3aGljaCBpcyBhIGxpc3Qgb2YgYm9keSBpZCdzLlxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMgY29uZmlnLlxyXG5AZWFjaCAkZWxlbWVudCwgJGNvbmZpZyBpbiAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIHtcclxuICAgIC8vIEdldCBzZWN0aW9uIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEdldCBwYWdlcyB0aGlzIGlzIGFwcGxpY2FibGUgdG9vLlxyXG4gICAgJHBhZ2VzOiBtYXAtZ2V0KCRjb25maWcsIHBhZ2VzKTtcclxuICAgIEBpZiAoJHBhZ2VzKSB7XHJcbiAgICAgICAgQGVhY2ggJHBhZ2UgaW4gJHBhZ2VzIHtcclxuICAgICAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgICAgICAuI3skZWxlbWVudH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQHdhcm4gXCJQYWdlIHNlY3Rpb24gY29sb3VyczogTm8gYmFja2dyb3VuZC1jb2xvdXIgcHJvdmlkZWQgZm9yICN7JGVsZW1lbnR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIlBhZ2Ugc2VjdGlvbiBjb2xvdXJzOiBObyBwYWdlcyBwcm92aWRlZCBmb3IgI3skZWxlbWVudH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gU3RhciBSYXRpbmdzIC0tLS0gXHJcbkhhbmRsZXMgc3RhciByYXRpbmdzIGZvciBwcm9kdWN0cywgdGhpcyBzdXBwb3J0cyBwZXJzZW50YWdlIGJhc2VkIHJhdGluZywgaGVyZSBpcyBhbiBvdmVydmlldyBvZiB3aGF0IHRoaXMgd291bGQgbG9vayBsaWtlIGh0dHBzOi8vY29kZXBlbi5pby9maWxjcC9wZW4vUXZaVk9nIC5cclxuXHJcbiovXHJcblxyXG4uc3Rhci1yYXRpbmdzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByYXRpbmcpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFja2dyb3VuZC1zdGFycyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGluYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJsYXAgdGhlIGZvcmVncm91bmQgc3RhcnMgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHRoZXkncmUgY29sb3VyaW5nIGluIHRoZSBiYWNrZ3JvdW5kIHN0YXJzLlxyXG4gICAgLmZvcmVncm91bmQtc3RhcnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdXRwdXQgcmF0aW5nIHRvdGFscyAoIGkuZSBhdmVyYWdlLCBtYXggJiB0b3RhbCBjb3VudCApXHJcbiAgICAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmF0aW5nLXN1bW1hcnktZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgIC5icmVha2Rvd24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbn1cclxuLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAucGVyY2VudGFnZS1iYXIgeyBcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuYmFja2dyb3VuZC1iYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAucGVyY2VudGFnZS1iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGluYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9yZWdyb3VuZC1iYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAucGVyY2VudGFnZS1iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5icmVha2Rvd24tY291bnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG59XHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEJhcmNvZGUgU2Nhbm5lciAtLS0tLS0gXHJcblxyXG4qL1xyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMHB4IDE1cHgsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbG91ciwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJvcmRlci1jb2xvdXItZGVza3RvcCwgZ2V0LWJ1dHRvbi1mb250LXNpemUoXCJhc3NvY2lhdGVkXCIpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygnYXNzb2NpYXRlZCcpLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBmbGV4LCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24taWNvbi1jb25maWcsIDEpO1xyXG59XHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uYmFyY29kZS1zY2FubmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmlkZW8ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vIFZpZXcgZmluZGVyIG92ZXJsYXkuXHJcbiAgICBjYW52YXMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pbmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeygxNXB4ICsgKCgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDIpICogMikgKyAkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXJlc3BvbnNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn0iLCIvKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgSW1hZ2UgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZCBpbWFnZShzKSB0byBzcGVjaWZpYyBwYWdlIHR5cGVzIHVzaW5nIHRoZSBib2R5IGlkLCBwb3NzaWJsZSBjb25maWd1cmF0aW9uOlxyXG5cclxuaG9tZXBhZ2U6IChcclxuICAgIGJhY2tncm91bmQtaW1hZ2UgPT4gWyBSRVFVSVJFRCBdIFRoZSB1cmwgb2YgdGhlIGltYWdlLlxyXG4gICAgcmVwZWF0LWJhY2tncm91bmQgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gbm8tcmVwZWF0LlxyXG4gICAgYmFja2dyb3VuZC1zY2FsZSA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBjb3Zlci5cclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudHMgPT4gWyBPUFRJT05BTCBdXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uID0+IFsgT1BUSU9OQUwgXVxyXG4pXHJcblxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRwYWdlLWJhY2tncm91bmQtaW1hZ2VzIGNvbmZpZy5cclxuQGVhY2ggJHBhZ2UsICRjb25maWcgaW4gJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXMge1xyXG4gICAgLy8gR2V0IHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgIC8vIFNob3VsZCB3ZSByZXBlYXQgdGhlIGJhY2tncm91bmQ/XHJcbiAgICAkcmVwZWF0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgcmVwZWF0LWJhY2tncm91bmQpO1xyXG4gICAgLy8gSG93IHNob3VsZCB3ZSBzY2FsZSB0aGUgYmFja2dyb3VuZD9cclxuICAgICRiYWNrZ3JvdW5kLXNjYWxlOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtc2NhbGUpO1xyXG4gICAgLy8gQmFja2dyb3VuZCBhdHRhY2htZW50ICggcGFyYWxsYXggZWZmZWN0ICk/XHJcbiAgICAkYmFja2dyb3VuZC1hdHRhY2htZW50OiBpZihjb250YWlucygkY29uZmlnLCBcImJhY2tncm91bmQtYXR0YWNobWVudFwiKSwgbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQpLCBmYWxzZSk7XHJcbiAgICAvLyBCYWNrZ3JvdW5kIHBvc2l0aW9uXHJcbiAgICAkYmFja2dyb3VuZC1wb3NpdGlvbjogaWYoY29udGFpbnMoJGNvbmZpZywgXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIpLCBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtcG9zaXRpb24pLCBmYWxzZSk7XHJcbiAgICBAaWYgKCRiYWNrZ3JvdW5kLWltYWdlKSB7XHJcbiAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGJhY2tncm91bmQtaW1hZ2V9XCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogaWYoJHJlcGVhdC1iYWNrZ3JvdW5kLCAjeyRyZXBlYXQtYmFja2dyb3VuZH0sIG5vLXJlcGVhdCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogaWYoJGJhY2tncm91bmQtc2NhbGUsICN7JGJhY2tncm91bmQtc2NhbGV9LCBjb3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAkYmFja2dyb3VuZC1hdHRhY2htZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogJGJhY2tncm91bmQtYXR0YWNoZW1lbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRiYWNrZ3JvdW5kLXBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRiYWNrZ3JvdW5kLXBvc2l0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJQYWdlIEJhY2tncm91bmRzOiBObyBiYWNrZ3JvdW5kIGltYWdlIHByb3ZpZGVkIGZvciBwYWdlICN7JHBhZ2V9XCI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUYWdzIC0tLS0tXHJcblVzZWQgdG8gZGlzcGxheSBhIGNhdGFnb3Jpc2F0aW9uIG9mIGdyb3VwcyAvIGtleXdvcmRzLCB0aGlzIGlhIHByaW1hcmlseSB1c2VkIGluIHRoZSBjbXMgc3lzdGVtIGN1cnJlbnRseSBmb3IgZGlwbHNheSBuZXdzLCBibG9ncyAmIGV2ZW50J3MgYXJ0aWNsZXMuXHJcbiovXHJcblxyXG4udGFnZ2luZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLmFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIElzIHRoaXMgaXMgYSBsaXN0aW5nIHBhZ2U/XHJcbiAgICAmLmxpc3Rpbmcge1xyXG4gICAgICAgIC50YWdnaW5nLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWdzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDVweCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWdnaW5nLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgIH1cclxuICAgIC50YWdnaW5nLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgYWN0dWFsIHRhZy5cclxuICAgIC50YWctaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgLy9tYXJnaW46IDVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxOHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFnLXJlbW92ZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQXhpcyBUb2dnbGVyIC0tLS0tXHJcbkJ1aWxkIG9udG9wIG9mIEZvdW5kYXRpb25zIHRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCwgd2UgbmVlZGVkIHRvIGFkZCBpbiBzb21lIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBmb3IgcmUtdG9nZ2xpbmcgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgb2YgdGhlIGNvbnRlbnQgYXJlYS5cclxuKi9cclxuXHJcbi50b2dnbGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC50b2dnbGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy8gTXVzdCBiZSBzZXQgc28gY29udGVudCBvdmVybGFwcyB0aGUgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIENvbG91cnMgLS0tLS1cclxuU2ltaWxhciB0byBheGlzLXNlY3Rpb24tY29sb3VycyBhIGN1c3RvbSBjb25maWcgaXMgcHJvdmlkZSB3aGljaCBnZXRzIGxvb3BlZCB0aHJvdWdoIGFzc2lnbmluZyB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSB0byB0aGUgcmVsaWV2ZW50IHBhZ2VzLlxyXG5cclxuTk9USUNFOiBIYWQgdG8gc2V0IHRoZSAhaW1wb3J0YW50IGZsYWcgb24gdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgZHVlIHRvIGZvdW5kYXRpb24gZW5mb3JpbmcgdGhhdCB0aGUgYm9keSBiYWNrZ3JvdW5kIGNvbG91ciBtdXN0IGJlIHNldC5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIGNvbmZpZy5cclxuQGVhY2ggJHBhZ2UsICRjb25maWcgaW4gJHBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzIHtcclxuICAgIEBpZiAoJHBhZ2UgPT0gYWxsKSB7XHJcbiAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLS0tXHJcblxyXG5Qcm92aWRlcyBhbiBhcmVhIHRvIHBsYWNlIG9wdGlvbnMgKCBpLmUgYSBmb3JtIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgKSB3aGljaCB0aGVuIGdldHMgZmlsbGVkIGluIHRvIHVwZGF0ZSBtdWx0aXBsZSBwb2ludHMgb24gdGhlIHBhZ2UuXHJcblxyXG4qL1xyXG5cclxuLm11bHRpLWZpZWxkLWxvb2t1cCB7XHJcbiAgICAmLnF1aWNrLW9yZGVyIHtcclxuICAgICAgICAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAgICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgJi5zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGF0LXJvb3QgeyBcclxuICAgICAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIFJlZHVjaW5nIG1hcmdpbiBib3R0b20gYXMgb24tcGFnZS1ub3RpZmljYXRpb25zIGFscmVhZHkgaGF2ZSAxMHB4IHRvcCArIGJvdHRvbSBwYWRkaW5nLlxyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvb2t1cC1vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgJi5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvb2t1cC1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJi5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBNYWtlIHN1cmUgYnV0dG9uIGFyZSBjYXBwZWQgYXQgdGhlIHNhbWUgaGVpZ2h0IGEgdGhlIGlucHV0cy5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldCB0aGUgY29udGFpbmVycyBkaWN0YXRlIHRoZSB3aWR0aCBhbmQganVzdCBzb2FrIHVwIHRoZSBhdmlsYWJsZSBzcGFjZS5cclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tdWx0aS1maWVsZC1yZXNwb25zZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOy8qIVxuICogYW5pbWF0ZS5jc3MgLSBodHRwczovL2FuaW1hdGUuc3R5bGUvXG4gKiBWZXJzaW9uIC0gNC4xLjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgQW5pbWF0ZS5jc3NcbiAqL1xuOnJvb3Qge1xuICAtLWFuaW1hdGUtZHVyYXRpb246IDFzO1xuICAtLWFuaW1hdGUtZGVsYXk6IDFzO1xuICAtLWFuaW1hdGUtcmVwZWF0OiAxO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0xIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0yIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS00cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xufVxuQG1lZGlhIHByaW50LCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlX19hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPSdPdXQnXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyogQXR0ZW50aW9uIHNlZWtlcnMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NoYWtlWCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2hha2VZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VZO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VZO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2hlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fdGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fd29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX2plbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4uYW5pbWF0ZV9faGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4vKiBCYWNrIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xufVxuLyogQmFjayBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFVwO1xufVxuLyogQm91bmNpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG4vKiBCb3VuY2luZyBleGl0cyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuLyogRmFkaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluRG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xufVxuLyogRmFkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xufVxuLyogRmxpcHBlcnMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2ZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuLyogTGlnaHRzcGVlZCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG4vKiBSb3RhdGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogUm90YXRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogU3BlY2lhbHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9faGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi5hbmltYXRlX19qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9fcm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuLyogWm9vbWluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG4vKiBab29taW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG4vKiBTbGlkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiIsIlxyXG4vKlxyXG5cclxuLS0tLS0gQXhpcyBFbGVtZW50IFByaW50IC0tLS0tIFxyXG5BbGxvd3MgeW91IHRvIHNlbGVjdCBhbiBlbGVtZW50IHRvIGJlIHByaW50ZWQgaW5zaWRlIG9mIHRoZSBET00uXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggZ2VuZXJhbCBmb3JtYXR0aW5nIG9mIHRleHQgd2hlbiBpbiBwcmludCB2aWV3IGFuZCB3aGljaCBlbGVtZW50IHNob3VsZCBiZSBleGNsdWRlZCBhcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHRoZW0gdG8gYmUgdGhlcmUuXHJcblxyXG4qL1xyXG5cclxuQG1lZGlhIHByaW50IHtcclxuICAgIC5wZS1uby1wcmludCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wZS1wcmVzZXJ2ZS1hbmNlc3RvciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBhbnkgc3RpY2sgZWxlbWVudHMgYXMgdGhpcyByZWFsbHkgZG9lc24ndCB3b3JrIHZlcnkgd2VsbCBpbiBwcmludGVyIHZpZXcuXHJcbiAgICBbZGF0YS1heGlzLXN0aWNreV0sIFtkYXRhLXN0aWNreS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyBub3QgbmVlZGVkIGluIHByaW50IHZpZXcuXHJcbiAgICAuZW5xdWlyeS1maWx0ZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYWxsLXR5cGUtaWNvbiwgLmNhbGwtc291cmNlLWljb24ge1xyXG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSAuY29sLWxhYmVsIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgcnVsZSBkdWUgdG8gYmFja2dyb3VuZCBjb2xvcnMgYmVpbmcgc3VwcHJlc3NlZCwgYWxzbyBpbmNyZWFzaW5nIHdlaWdodCBmb3IgcG9vciBxdWFsaXR5IHByaW50ZXJzLlxyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjMtMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERvbid0IHNob3cgcGFnZSBidXR0b25zLlxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIsIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBNYWtlIGFsbCB0ZXh0IGlzIHZpc2libGUuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBTZXR0aW5nIHBvc2l0aW9uIGFic29sdXRlIG90aGVyd2lzZSBpZiB0aGUgbW9kYWwgY29udGVudCBpcyBiaWdnZXIgdGhhbiBhIEE0IHBhZ2UgdGhlIGNvbnRlbnQgZ2V0cyBjdXQgb2ZmIGR1ZSB0byBvYnZpb3VzbHkgbm90IGJlaW5nIGFibGUgdG8gc2Nyb2xsLlxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0tIFxyXG5TcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgc3R5bGluZyBmb3IgQVhJUyBEb2N1bWVudGF0aW9uLCB0aGVyZSB3aWxsIGJlIHNpbWlsYXJpdGllcyBiZXR3ZWVuIHRoaXMgY29kZSBhbmQgY21zIGNvbnRhaW5lcnMuXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggdGhlIGZvbGxvd2luZyBwYWdlIHR5cGVzOlxyXG4tLSBQcm9kdWN0c1xyXG4tLS0tIEJvb2tzXHJcbi0tLS0tLSBDaGFwdGVyc1xyXG4tLS0tLS0tLSBBcnRpY2xlc1xyXG4tLS0tLS0tLSBGdW5jdGlvbnNcclxuLS0tLS0tLS0tLSBBcnRpY2xlXHJcbiovXHJcblxyXG5cclxuLy8gSG9sZHMgdGhpbmdzIGxpa2UgZG9jdW1lbnRhdGlvbiBzZWFyY2gsIGFjY2VzcyBsZXZlbC5cclxuLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgIH1cclxuICAgIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWFyY2gtem9uZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY29udmVudGlvbiBvZiBzcGFubmluZyB0aGUgZW50aXJlIHdpZHRoIHVzZWQgd2hlbiBkaXNwbGF5aW5nIGEgY29udmVudGlvbmFsIGZvcm0uXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gRG9jdW1lbnRhdGlvbiBsaXN0XHJcbi5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5zaXRlLXN0eWxlIHtcclxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJiArIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAmLnN0cmlwZXMge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgc3VibWVudSB0aGVuIHJldmVydCB0aGUgb3JkZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgbGkuaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgZ2FwOiAwIDVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGRvY3VtZW50YXRpb24tbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBjb250ZXh0IG1lbnUgaW5saW5lIHdpdGggYW5jaG9yLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZywgMSkgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHRoZSB0b29sdGlwIGljb24gaXMgaWdub3JpbmcgdGhlIGFsaWduLWl0ZW06IGJhc2VsaW5lOyBzZXQgb24gdGhlIHBhcmVudCBsaSB0aGlzIHZhcmllcyBkZXBlbmRhbnQgb24gdGhlIGZvbnQgYmVpbmcgdXNlZCwgc28gdGhpcyB3YXMgdGhlIG9ubHkgd2FzIHRvIGdldCBjb25zaXN0YW50IGJlaGF2b3VyLlxyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5kZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVHlwaWNhbGx5IHVzZWQgZm9yIHBhZ2UgaW50cm8ncy5cclxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiA1NnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICYubGF5b3V0LTEge1xyXG4gICAgICAgIG1hcmdpbjogMzVweCAwIDQ1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQ1cHggMCA1NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTMpLCA1MHB4LCAxcHgsIChyaWdodDogMCwgYm90dG9tOiAwLFxyXG4gICAgICAgICAgICBsZWZ0OiAwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sYXlvdXQtMiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxLCBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGRvY3VtZW50YXRpb24taW50cm8tYmFubmVyLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgIHVsIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiA1cHggMjVweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLy8gSnVzdCBsZXQgdGhlIGNvbnRlbnQgZmFsbCBvbiB0aGUgcGFnZS5cclxuICAgICAgICAgICAgZmxleDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGF0dGFjaG1lbnQgc3R5bGVzLlxyXG4gICAgLmF0dGFjaG1lbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpOyAgIFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQmVzcG9rZSBpY29ucyBmb3IgdGhpcyBhcmVhLlxyXG4gICAgICAgICYucHJpbnRlci1saW5rIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpO1xyXG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvY3VtZW50YXRpb24tcHVibGljLWxpbmsge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkb2N1bWVudGF0aW9uLXB1YmxpYy11cmwpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhlIGRvY3VtZW50YXRpb24gaGVhZGluZyBzdHlsZXMgYXJlIHVzaW5nIHRoZXNlIHJ1bGVzIGluc3RlYWQgb2YgdGhlIG5vcm1hbCBjbXMtaGVhZGluZyBtaXhpbiwgdGhlIG1vc3Qgb2J2aW91cyBydWxlIGNvbmZsaWN0aW9uIGlzIG5vdCB1c2luZyB0aGUgcHJpbWFyeS1jb2xvdXIgZm9yIHRoZSB0ZXh0IGNvbG91ciwgdGhlcmUgaXMgYWxzbyBtb3JlIG9mIGEgdXNlIG9mIHJ1bGVzIHdpdGggaDEgJiBoMi5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgaDEge1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBhZ2FpbiBhcyB0aGUgcnVsZSBpcyBwdXQgdGhlIGFib3ZlIGNvbnRlbnQgYXdheSBhbmQgbWFrZSB0aGUgY29udGVudCBiZWxvdyBzZWVtIGNsb3NlIHRvIGZvcm0gbW9yZSBvZiBhIGdyb3VwZWQgYWZmZWN0LlxyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMSk7IFxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgICAgICYgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAgbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMik7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDMpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg0KTsgXHJcbiAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgY29sb3I6ICRoZWFkaW5nLTQtY29sb3VyO1xyXG4gICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDUpOyBcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy01LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIGg2IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDYpOyBcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy02LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgICYuaW5kZW50ZWQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgfVxyXG4gICAgJi5pbmRlbnRlZC1ydWxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItZm9vdGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIGJvcmRlci1ib3R0b206ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlO1xyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAvLyBQb3NpdGlvbiByZWxhdGl2ZSByZXF1aXJlIHRvIGtlZXAgY29udGV4dCBtZW51IGluIHBsYWNlLlxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaDtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy15b3V0dWJlLXZpZGVvKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaW1hZ2UoKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRkb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHtcclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCAmLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHksIGEsIHRhYmxlIHRoZWFkIHRoLCB0YWJsZSB0Ym9keSB0ZCB7XHJcbiAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLW5vdC1wdWJsaXNoZWQge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vLyBNYWtlIHN1cmUgaWYgYW4gaXRlbSBoYXMgYSB0b2dnbGUgYnV0dG9uIHRoYXQgY2hpbGQgaXRlbShzKSBrZWVwIGl0ZW0gZGVzY3JpcHRpb25zIGlubGluZS4gXHJcbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgIC8vIEtlZXBpbmcgY29uc2lzdGFudCBhY3Jvc3MgYWxsIGRldmljZXMgLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIERvIHRoZSBzYW1lIGZvciBsb3dlciBsZXZlbCBtZW51cy5cclxuICAgIHVsLm1lbnU6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LmZ1bmN0aW9ucy1saXN0IHtcclxuICAgIC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPbmx5IGFmZmVjdCB0aGUgcm9vdCBsZXZlbC5cclxuICAgID4gbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgLy8gQ2FzY2FkZS5cclxuICAgIGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAvLyBBbGlnbmluZyB0byB0aGUgY2VudGVyIGR1ZSB0byBpbmNvbnNpc3RhbmNpZXMgaW4gaWNvbiBsaWJyYXJpZXMgYW5kIGZvbnQgbGlicmFyeXMuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIFNvIHRoZSBjb250ZXh0IG1lbnUgcmVtYWlucyBpbiB0aGUgc2FtZSBwbGFjZSB3aGVuIGNhc2NhZGluZyBkb3duIHRoZSBsZXZlbHMgaW4gYSBsaXN0LlxyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgID4gYSwgPiBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSB0b2dnbGUgYnV0dG9uIGFsbG93IHRoYXQgdG8gc3RyaW5rIHRoaXMgY29udGVudCB0byBmaXQgbmV4dCB0byBpdC5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmdW5jdGlvbnMtbWVudS1hcnJvdy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgMi5cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluZGV4IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsbG93IGluZGV4IHRvIGRpY3RhdGUgaG93IG11Y2ggc3BhY2UgdG8gc3BhbiBhY3Jvc3MuXHJcbiAgICAgICAgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5oYXMtc3VibWVudS10b2dnbGUge1xyXG4gICAgLy8gICAgIGEge1xyXG4gICAgLy8gICAgICAgICAvLyBBZGRpbmcgcGFkZGluZyBhbGlnbiBjb250ZW50IHZlcnRpY2FsbHkgY2VudGVyYWwgdG8gdGhlIGNoZXZyb24gaW4gdGhlIHRvZ2dsZS1idXR0b24uXHJcbiAgICAvLyAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIHtcclxuICAgID4gbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICBwYWRkaW5nOiAxMHB4IDVweDsgXHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1pdGVtcy1jb250YWluZXIge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBicmVhZGNydW1icy1zZXBlcmF0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mb250LXNpemU6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24tY29udGFpbmVyIHtcclxuICAgIC5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uIHtcclxuICAgICAgICAvLyBPdmVycmlkZSBzZWNvbmRhcnktYnV0dG9uIHN0eWxlcyBzbGlnaHRseSB0byBjb25mb3JtIHdpdGggb3RoZXIgZG9jdW1lbnRhdGlvbiBidXR0b25zLlxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RhdGlzdGljcyBwYWdlLlxyXG4uc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEF1ZGl0IHRyYWlsIC8gcmV2aXNpb24gcmVsYXRlZCBlbGVtZW50cy5cclxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAmLnNlcGVyYXRvciB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1cHg7IC8vIHJlZHVjaW5nIGR1ZSB0byBhY2NvdW50IGZvciBsaW5lLWhlaWdodC5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgZGlzcGxheWVkIG9uIHRoZSBwcmV2aWV3IHBhZ2UuXHJcbi5yZXZpc2lvbi1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkge1xyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gVGhpcyB3YXMgb3JpZ2luYWxseSBpbXBsZW1lbnRlZCBmb3IgdGhlIHN0YXRpYyBidWlsZCBnb29nbGUtdGFnLW1hbmFnZXItZXZlbnRzLlxyXG4udGVjaG5pY2FsLWRvY3VtZW50YXRpb24tbGlzdC1jb250YWluZXIge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDQwcHggMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1kZW1vLWxpbmstY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbn1cclxuXHJcbi5pbnNwZWN0LXByb21wdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcbiAgICAuY29uZmlndXJhdGlvbi1zZWN0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbmZpZ3VyYXRpb24taW50cm9kdWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGVjaG5pY2FsLWxpc3Qge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5rZXktdmFsdWUtcGFpciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV1dHJhbGlzZWQtaXRlbXMge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC5uYW1lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIj0+XCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmFsdWUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIENvbnRleHQgTWVudSAtLS0tLS0gXHJcbkVzc2VudGlhbGx5IGEgdG9vbGJhciAvIHRvb2xib3ggbWVudVxyXG4qL1xyXG5cclxuLmNvbnRleHQtbWVudS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgei1pbmRleDogJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsICYuaXMtY2xvc2luZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgei1pbmRleDogI3soJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleCArIDEpfTtcclxuICAgIH1cclxuXHJcbiAgICBvbCwgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvbCwgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdpbGwgYmUgb2sgYXQgdGhlIHRpbWUgb2YgYnVpbGRpbmcgYnV0IG1heSBoYXZlIHRvIGV4dGVuZCBpbiB0aGUgZnV0dXJlIHRvIHVzZSBKUyB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmUuXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDI1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb2wsIHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEhlaWdodCB1c2VkIHRvIHN0b3AgYm9yZGVycyBmcm9tIG92ZXJsYXBwaW5nIHRyaWdnZXIgYnV0dG9uIGhlaWdodC5cclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhdGUtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuXHJcbiAgICAuZWRpdC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAvLyBEdWUgdG8gdXNpbmcgYSBtaXh0dXJlIG9mIGZvbnQgZmFtaWxpZXMgaGF2aW5nIHRvIHNldCB0byBjZW50ZXIgaW5zdGVhZCBvZiBiYXNlbGluZS5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA3LjVweCAxMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZW51LW9wdGlvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29tbW9uIHN0eWxlcyBiZXR3ZWVuIGFsbCBidXR0b25zLlxyXG4gICAgICAgIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gU3RhdHVzIE9wdGlvbnMuXHJcbiAgICAgICAgJi5hY2Nlc3MtbGV2ZWwge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1hY2Nlc3MtbGV2ZWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMCB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMiB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0zLCAmLnN0YXRlLXZhbHVlLTQge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHVibGlzaGVkIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtcHVibGlzaGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLXRydWUge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLWZhbHNlIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVkaXQgT3B0aW9ucy5cclxuICAgICAgICAmLmVkaXQtbWVudSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1lbnUtZWRpdCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lZGl0LXRleHQgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXRleHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZWRpdC1wcm9wZXJ0aWVzIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWVkaXQtcHJvcGVydGllcy1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLXVwIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZS11cCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS1kb3duIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZS1kb3duKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYmVmb3JlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWJlZm9yZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1iZWZvcmUtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWFmdGVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWFmdGVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWFmdGVyLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByb21vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1wcm9tb3RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZW1vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1kZW1vdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlbGV0ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWRlbGV0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLWFydGljbGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hdWRpdC10cmFpbCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWF1ZGl0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tLSBcclxuRWRnZSBlZmZlY3Qgd2hlcmUgdGhlIGlzIHR5cGljYWxseSAzIHRvbmVzIG9mIGEgc3BlY2lmaWMgY29sb3VyIGluIHRoZSBjb3JuZXIgb2YgYSBlbGVtZW50IC8gY29tcG9uZW50LlxyXG5Qb3NzaWJsZSBjbGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnM6XHJcbi0gT3BhY2l0eSBlbnVtZXJhdGlvbiAoIEhpZ2gsIE1lZGl1bSwgTG93IClcclxuLSBQb3NpdGlvbiBUb3AgKyBCb3R0b20gTCAmIFIgY29ybmVyc1xyXG5cclxuRm9yIGEgZGVtb25zdHJhdGlvbiBnbyB0byAvc3RhdGljL2dyYWR1YXRlZC1jb2xvdXItZWRnZS10ZXN0Lmh0bWxcclxuKi9cclxuXHJcblxyXG5cclxuLmdyYWR1YXRlZC1jb2xvdXItZWRnZSB7XHJcbiAgICAtLWdyYWR1YXRlZC1zdGVwLWhlaWdodDogdmFyKC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQsICN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1zdGVwLWhlaWdodH0pO1xyXG4gICAgJGdyYWR1YXRlZC1zdGVwLXdpZHRoOiA2MDBweDtcclxuICAgIHdpZHRoOiAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIFRvcCBMZWZ0LlxyXG4gICAgJi5wb3NpdGlvbi0xIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLSN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIFRvcCBSaWdodC5cclxuICAgICYucG9zaXRpb24tMiB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gQm90dG9tIExlZnQuXHJcbiAgICAmLnBvc2l0aW9uLTMge1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gQm90dG9tIFJpZ2h0LlxyXG4gICAgJi5wb3NpdGlvbi00IHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLSN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgICYub3BhY2l0eS0xIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTIge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMyB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGVwIHtcclxuICAgICAgICB3aWR0aDogJGdyYWR1YXRlZC1zdGVwLXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBeGlzIFJpY2ggVGV4dCBFZGl0b3JzIC0tLS0tIFxyXG5CZXNwb2tlIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgd2hlbiBpbnRlcmdyYXRpbmcgd2l0aCB0aGlyZC1wYXJ0eSBlZGl0b3JzLlxyXG5cclxuR2VuZXJhbCBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHRvIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB3aGljaCBpcyB0aGUgY29tbW9uIGNvbnRhaW5lciB0aGF0IGdldHMgdXNlZCBhY3Jvc3MgYWxsIGVkaXRvcnMuXHJcbiovXHJcblxyXG4vLyBNYWtlIHN1cmUgY2tlZGl0b3IncyBjb250ZW50IG92ZXJsYXBzIG1vZGFscyBhcyBpdCBkb2VzIERPTSBtYW5pcGxhdGlvbiBvdXRzaWRlIG9mIG1vZGFscy5cclxuLmNrLWJvZHktd3JhcHBlciB7XHJcbiAgICAvLyBNYWtlIHN1cmUgY29udGVudCBvdmVybGFwcyBtb2RhbHMuXHJcbiAgICB6LWluZGV4OiAjeygkbW9kYWwtY29udGVudC16LWluZGV4ICsgMjApfTtcclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jay1lZGl0b3Ige1xyXG4gICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcclxuICAgIC8vIEVkaXRvciBzcGVjaWZpYyBDU1MgdmFyaWFibGVzLlxyXG4gICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogI3skY29sb3VyMy0xfTtcclxuICAgIC0tY2stY29sb3ItYmFzZS1lcnJvcjogI3ttYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApfTtcclxuICAgIC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogI3tzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSl9O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLXRleHQ6ICN7JGJvZHktZm9udC1jb2xvdXJ9O1xyXG59XHJcbi8vIE1ha2Ugc3VyZSB0ZXh0IGFyZWEgaXMgbm90IHNob3duIHdoZW4gaW5pdGlhbGlzaW5nLlxyXG5bZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdIHtcclxuICAgIC8vIEJlZm9yZSBpbml0aWFsaXNhdGlvbiBtYWtlIHN1cmUgY29udGVudCBpcyBtaW4taGVpZ2h0OiAxMDBweCBmb3Igc3Bpbm5lci5cclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgJjpub3QoLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyKSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIH1cclxuICAgID4gdGV4dGFyZWEge1xyXG4gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfSAgIFxyXG59XHJcbi8vIFN1cHByZXNzaW5nIHRoaXMgYXMgZm9ybWFsIHBhZ2UgYnV0dG9ucyBoYXMgbm93IGJlZW4gaW1wbGVtZW50ZWQgZm9yIG1vZGFscyA4NjI1NjYuXHJcbi8vIC5zdWJtaXNzaW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4vLyB9XHJcblxyXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgXHJcbn1cclxuXHJcbi8vIEluZGVudGF0aW9uLlxyXG5AZm9yICRpbmRlbnRhdGlvbi1sZXZlbCBmcm9tIDEgdGhyb3VnaCAkcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1tYXgtbGV2ZWxzIHtcclxuICAgIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtI3skaW5kZW50YXRpb24tbGV2ZWx9IHtcclxuICAgICAgICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoI3skaW5kZW50YXRpb24tbGV2ZWx9ICogI3skcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAmICsgdWwsICYgKyBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGluZGVudGF0aW9uLWxldmVsfSAqICN7JHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcblxyXG4tLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLVxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIGlzIHNwZWNpZmljYWxseSBmb3IgZW1iZWRkaW5nIFlvdXR1YmUgdmlkZW9zIC8gQmFubmVyIHNlcmllcy4gL3N0YXRpYy92aWRlby1zZXJpZXMuaHRtbFxyXG5cclxuSGFuZGxlczpcclxuLSBUaHVtYm5haWwgcGxheSBpY29uLlxyXG4tIER1cmF0aW9uIGZvcm1hdHRpbmcuXHJcbi0gVmlkZW8gaW5kaWNhdG9yIHRleHQgKCBjbGljayBoZXJlIHRvIHdhdGNoIHZpZGVvIClcclxuXHJcbiovXHJcblxyXG5cclxuXHJcbi52aWRlby1wbGF5ZXItY29udGFpbmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQpfSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSB2aWRlby1wbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgLmR1cmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLWR1cmF0aW9uLWljb25zKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAvLyBGb3JjZSByZWFkIG1vcmUgY29udGFpbmVycyB0byBzaHJpbmsgdG8gZml0IGF2YWlsYWJsZSBhcmVhLlxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbiAgTXVsdGltZWRpYSBFbGVtZW50XHJcbiAgXHJcbiAgSGFuZGxlcyBzdHlsaW5nIGZvciB2aWRlbyBwbGF5YmFja1xyXG5cclxuKi9cclxuXHJcbi8vIEdlbmVyYWwgdmlkZW8gcnVsZXMuXHJcbnZpZGVvIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGJlc3Bva2Ugb3ZlcmxheSBmb3IgU2FmYXJpIGR1ZSB0byBubyBcclxuICAgIEBzdXBwb3J0cyBub3QgKC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiBpbmhlcml0KSB7XHJcbiAgICAgICAgJi5pcy1yZWFkeS10by1wbGF5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXBsYXktdmlkZW8ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2aWRlby1yZXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBVbnN1cHBvcnRlZCBtZWRpYSB0eXBlLlxyXG4uc291cmNlLXVuc3VwcG9ydGVkIHtcclxuICAgICYgPiB2aWRlbyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYgPiBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZhbGxiYWNrIGVsZW1lbnQuXHJcbltkYXRhLWZhbGxiYWNrXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5mYWxsYmFjay1lbGVtZW50IHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC5mYWxsYmFjay10ZXh0IHtcclxuICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAxMCk7XHJcbiAgICAgICAgJGVycm9yLWljb24tc2l6ZTogMzJweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICN7KCRlcnJvci1pY29uLXNpemUgKyAyMCl9IDFmcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZC1jb2xvdXIsIC44KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGVycm9yLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lcnJvci1kZXRhaWxzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4sIGRpdiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1icC12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMjogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgZGl2aWRlKCRleHBvbmVudCwgJGRlbm9taW5hdG9yKSksIGRpdmlkZSgkcHJlYzIsICRkZW5vbWluYXRvciksICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiBkaXZpZGUoMSwgJG4pICogKCgkbiAtIDEpICogJHggKyBkaXZpZGUoJG51bSwgcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiBkaXZpZGUoJGgsICR3KSAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yICdDYW5ub3QgZGl2aWRlIGJ5IDAnO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAwLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgICdweCc6IDFweCxcbiAgICAncmVtJzogMXJlbSxcbiAgICAnZW0nOiAxZW0sXG4gICAgJyUnOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICB9XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4vLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJHByaW1hcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCBkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLlxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLlxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIHRvcC9ib3R0b20gaWNvbnMgd2l0aGluIGEgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRhbGlnbm1lbnQgW2NlbnRlcl0gLSBBbGlnbm1lbnQgb2YgdGhlIGljb25cbkBtaXhpbiBtZW51LWljb24tYWxpZ25tZW50KCRhbGlnbm1lbnQ6IGNlbnRlcikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLmljb24tdG9wLFxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgbGkgYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IGljb24gcG9zaXRpb25cbiAgICAvLyBJbmNsdWRlcyBzcGVjaWZpY2l0eSB0byBuZXN0ZWQgaWNvbnMgd2l0aCBhIGRpZmZlcmVudCBwb3NpdGlvblxuICAgICYsXG4gICAgJi5uZXN0ZWQge1xuICAgICAgLy8gSWNvbiBMZWZ0XG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBSaWdodFxuICAgICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBUb3BcbiAgICAgICYuaWNvbi10b3Age1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBCb3R0b21cbiAgICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4gICRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4gICRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgLy8gQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAvLyAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pIHtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gMC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIDAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyayBNb2RlIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElFMTArIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLnNob3ctZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3RpY2t5IFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qXHJcbi0tLS0tIE1lbnVzIC0tLS0tXHJcblRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzIEkgYW0gc3RpbGwgbWlncmF0aW5nIGZyb20gYSBtYXNzaXZlIGJsb2Igb2YgY29kZSBlbWJlZGRlZCBpbiBoZWFkZXIuc2Nzcy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBEcm9wZG93bnNcclxuLSBEcmlsbCBkb3duc1xyXG4tIEFjY29yZGlvbnNcclxuLSBNZWdhIG1lbnVcclxuICAtIE1lZ2EgbWVudSBzZWUgbW9yZSBsaW5rLlxyXG4gIC0gRUJHIGltYWdlLlxyXG4qL1xyXG5cclxuLm1lbnUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkbWVudXMtaGVhZGVyLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAubWVudS1oZWFkaW5nIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkbWVudXMtaGVhZGVyLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy1oZWFkZXItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLWhlYWRlci1mb250LXdlaWdodDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gR2V0cyB3cmFwcGVkIGFyb3VuZCBhbGwgbWVudXMuXHJcbi5tZW51LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vIFN1cHJlc3NpbmcgZHVlIHRvIG1lZ2EgbWVudSBvdmVybGFwcGluZyBkcm9wZG93biBtZW51cy5cclxuICAgIC8vIHotaW5kZXg6IDU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIGZvciBiYXNrZXQgcHJldmlldywgc2VhcmNoICYgbW9iaWxlIG1lZ2EgbWVudS5cclxuICAgIC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIsIC5tZW51LWhlYWRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogJG1lbnUtbmF2LXRleHQtbWFyZ2luO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTW9iaWxlIGV4cGllcmFuY2UuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gTGV2ZWwgMVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWJvcmRlci1ib3R0b20sIHNtYWxsKTtcclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLWJvcmRlci10b3AsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1saS1ib3JkZXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBMZXZlbCAzXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29udGFpbmVyLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEFjY29yZGlvbiBNZW51IC0tLVxyXG4gICAgJi5hY2NvcmRpb24tbWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkge1xyXG4gICAgICAgIC8vIExldmVsIDEuXHJcbiAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExldmVsIDNcclxuICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuICAgIC8vIElmIHRoZSBhbmNob3IgaXMgbGlua2luZyB0byBwYWdlIGJ1dCB3ZSB3YW50IG1lbnUgdG9nZ2xlIGJ1dHRvbi5cclxuICAgICYuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0ge1xyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gYW5kIHVzaW5nIEV4cHJlc3MncyBzaXRlLWljb25zIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VibWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbGkge1xyXG4gICAgICAgIC8vICAgICAvLyBNYWtlIHN1cmUgaWYgYW4gaXRlbSBoYXMgYSB0b2dnbGUgYnV0dG9uIHRoYXQgY2hpbGQgaXRlbShzKSBrZWVwIGl0ZW0gZGVzY3JpcHRpb25zIGlubGluZS4gXHJcbiAgICAgICAgLy8gICAgICYuaGFzLXN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgICAgICAvLyAgICAgICAgICYgfiBsaSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgJjpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSk6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICY6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBCYWNrZ3JvdW5kIGNvbG91ciwgdGV4dCBjb2xvdXIsIGhvdyB3ZSBoYW5kbGUgRUdCIGdyb3VwIGNvbG91cnMuIC0tLS0tXHJcbiAgICAvLyBDYXJyeSBvdXQgc29tZSBwcmUtcHJvY2Vzc2luZyBvZiB0aGUgY29sb3VycyB0byB0ZXN0IHRoZSBsZWdpYmlsaXR5IG9mIHRoZSBjb250ZW50IGFnYWluc3QgdGhlaXIgYmFja2dyb3VuZHMuXHJcbiAgICAvLyAtLS0gR3JhbmQgcGFyZW50IGNvbG91cnMuIC0tLVxyXG4gICAgLy8gTW9iaWxlXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3BcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gQ2hpbGQgY29sb3VycyAtLS0gXHJcbiAgICAvLyBUT0RPOlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQG1peGluIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICAvLyBJZiBlQnVzaW5lc3MgZ3JvdXAgYmFja2dyb3VuZCBpcyBjb25maWd1cmVkLlxyXG4gICAgICYuZWJnLWNvbG91ci1iYWNrZ3JvdW5kICB7XHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGE6aG92ZXIsIGxpOmhvdmVyIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTsgXHJcbiAgICAgICAgICAgICAgICBsaSB7IFxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIGVCdXNpbmVzcyBncm91cCBjb2xvdXIgb24gaG92ZXIgaXMgY29uZmlndXJlZC5cclxuICAgICYuZWJnLWNvbG91ci1ob3ZlciB7XHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pOmhvdmVyIHtcclxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyAgICAgPiBhIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBEZWZhdWx0IHN0eWxlcy5cclxuICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBMZXZlbCAxICggR3JhbmRwYXJlbnQgKVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBjb2x1bW4gbGF5b3V0IGZvciBmaWx0ZXJzIGFuZCBpdCBtYWRlIHNlbnNlIGZvciBnZW5lcmFsIG1lbnUgbG9naWMgYXMgd2VsbC5cclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSwgPiBwIHtcclxuICAgICAgICAgICAgJi5oYXMtbGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1mbGV4LWRpcmVjdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IChzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmICsgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1kZXNjcmlwdGlvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgZmxleCBncm93IHRvIGFsbG93IGZvciB0aGUgYW5jaG9yIHRvIHRha2UgdXAgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgKCB0aGluayBwcm9kdWN0IGxpc3QgZmlsdGVycyApLlxyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIGxpbmUtaGVpZ2h0IHdpdGggdGhlIGdsb2JhbCBsaW5lIGhlaWdodC5cclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaWYoJGhlYWRlci1sb3dlci10ZXh0LWFsaWduID09IFwibGVmdFwiLGZsZXgtc3RhcnQsY2VudGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgLy8gU3BlY2lmaWMgaGlkaW5nIHRoaXMgb24gcGFnZSBsb2FkIC8gaW50aXRpYWxpc2F0aW9uIHRvIHByZXZlbnQgY29udGVudCBmcm9tIGJlaW5nIHNob3duIHRoZW4gaGlkZGVuLlxyXG4gICAgICAgICAgICAmOm5vdCguc3VibWVudSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGlmICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGRlZmF1bHQtbWVudS1kcm9wZG93bi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAvLyBMZXZlbCAzLCBBZGRpbmcgY2xhc3MgdG8gbm90IGJyZWFrIGxvd2VyIGRvd24gbGlzdHMgKCBpLmUgY29udGV4dCBtZW51IClcclxuICAgICAgICAgICAgICAgIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gbGksIC5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVnYS1tZW51LWxpbmstaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHBvc2l0aW9uaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBHcm91cCBpbmRpY2F0b3IgaW4gbW9iaWxlLlxyXG4gICAgICAgICAgICAgICAgLy8gJi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZHJvcGRvd24ge1xyXG4gICAgICAgIGxpID4gYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSUYgd2Ugc3BlY2lmaWNhbGx5IHdhbnQgdG8gYWRkIGEgcmFkaXVzIHRvIHRoZSBib3R0b20gb2Ygc3VibWVudSBhbmNob3JzICggYmV3YXJlIHRoaXMgbWF5IGxvb2sgb2RkIHdpdGggZHJvcGRvd24gbWVudXMgKS5cclxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1ib3R0b206IGlmKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cywgMyksICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykgJGJvcmRlci1yYWRpdXMtYm90dG9tICRib3JkZXItcmFkaXVzLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRtZW51LWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIC8vIE5vdCBhIHNpdGUtc2V0dGluZyBkdWUgdG8gZGVzaWduIGNhbGxlZCBmb3IgY2hldnJvbiB0byBiZSBvbiBiZWZvcmUgdGhlIHRleHQgaW5zdGVhZCBvZiBhZnRlci5cclxuICAgICAgICAgICAgICAgICY6bm90KC5zaXRlLXNldHRpbmctbWVudSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRncmFuZC1wYXJlbnQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9uLXBhZ2UtbWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBIb21lIGJ1dHRvbiAtLS0tLSBcclxuICAgIC8vIExlZ2liaWxpdHkgY2hlY2tlci5cclxuICAgIC8vIERlZmF1bHRcclxuICAgICRob21lLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG9tZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGhvbWUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGhvbWUtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRob21lLWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLCRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGhvbWUtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGhvbWUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRob21lLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBwYWRkaW5nICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRob21lLXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IChtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCBoZWlnaHQpIC8gMS42KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gQWNjb3VudCBNZW51IC0tLS0tIFxyXG4gICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAgbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEZWNsYWlyaW5nIHBhZGRpbmcgaGVyZSBhcyB3ZWxsIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVudSBhbmNob3Igc3R5bGluZy5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBwcmVmaXggY2hldnJvbi5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgdG9wOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG4gICAgLy8gLS0tLS0gTW9iaWxlIHNpdGUgc2V0dGluZyBtZW51cyAtLS0tIFxyXG4gICAgLnNpdGUtc2V0dGluZy1tZW51IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDIycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXItYm9yZGVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbmN5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uICB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjQsICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDZweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbmN5IHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHRvIGZvcmNlIHNpdGUgc2V0dGluZyBkcm9wZG93biB0byBwaW4gdG8gdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXHJcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItdXBwZXItcGFkZGluZywgMSl9KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUbyBvdmVycmlkZSBkZWZhdWx0IG1lbnUgc3R5bGVzLlxyXG4gICAgICAgICYuaXMtYWN0aXZlID4gYTpob3ZlciAubGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBhIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRXhwbGljaXRseSBoYW5kbGluZyBjb250YWN0IGljb25zIG9uIGFuY2hvcnMuXHJcbnVsLm1lbnUge1xyXG4gICAgbGkge1xyXG4gICAgICAgIGFbaHJlZl49XCJ0ZWw6XCJdLCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IENvbmZpZyBuYW1lcyBuZWVkIHRvIGJlIHJlZmFjdG9yIHRvIGJlIG1vcmUgZ2VuZXJpYyBhcyB0aGlzIGNvZGUgY2FuIG5vdyBiZSB1c2VkIGFueXdoZXJlLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLXVwcGVyLWljb24tbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci11cHBlci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRoZWFkZXItdXBwZXItaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtZW1haWwtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnVzLWVtYWlsLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhW2hyZWZePVwidGVsOlwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCAge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRtZW51cy10ZWxlcGhvbmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtaWNvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnVzLXRlbGVwaG9uZS1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaWYgJG1lZ2EtbWVudS1zaG93LWljb25zIHtcclxuICAgIFtjbGFzc149XCJtZW51LWljb24tXCJdIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaWYgbm90ICRtZWdhLW1lbnUtc2hvdy1pY29ucy1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1pY29ucy1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWljb25zLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJG1lZ2EtbWVudS1pY29ucy1mb250LWZhbWlseSwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1pY29uLWFjY291bnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5tZW51LXNjcm9sbC1jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gLS0tLS0gU3VibWVudSdzIC0tLS0tLSBcclxuLnN1Ym1lbnUge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogNDAwO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAvLyBPbmx5IGFwcGx5IHRoZSBmb290ZXIgYm9yZGVyIHRvIHRoZSBzZWNvbmQgbGV2ZWwgb2YgYSBtZW51LlxyXG4gICAgLy8gVE9ETzogbmVlZCB0byB3b3JrIG91dCB0aGUgdXNlIG9mIC5sZXZlbCBjbGFzc2VzIGFuZCBpbnN0ZWFkIHVzZSBwYXJlbnQgY2hpbGQgcmVsYXRpb25zaGlwJ3MgYmV0d2VlbiB1bCBsaSBhcyB3ZSByZWN1cnNpdmlseSB0cmF2ZXJzZSBkb3duLlxyXG4gICAgJi5sZXZlbDIge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgID4gbGkge1xyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIGFzIHRoaXMgaXMgY2F1c2luZyBhIHN0ZXAuXHJcbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICYub3BlbnMtcmlnaHQge1xyXG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAkc3VibWVudS1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHN1Ym1lbnUtcGFkZGluZyA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAjeyRzdWJtZW51LXBhZGRpbmd9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVudSBFQkcgaW1hZ2UuXHJcbi5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBvZiBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgLy8gd2lkdGg6ICRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9ucztcclxuICAgICAgICAvL2hlaWdodDogJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJG1lZ2EtbWVudS1pbWFnZS1kZXNrdG9wLW1hcmdpbjtcclxuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gbGFzdC1saW5lO1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIEBpZiAoJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkbWVnYS1tZW51LWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNZWdhIG1lbnUgLS0tLS0tIFxyXG4vLyBNZWdhIG1lbnUgZ2VuZXJhbCBzdHlsZXNcclxuLy8gU3BlY2lmaWNhbGx5IG1lZ2EgbWVudSBzdHlsZXMgKCBpLmUgY29sdW1uIGxheW91dHMgKVxyXG4ubWVnYS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAtLW1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6ICN7c3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMil9O1xyXG4gICAgLy8gRG9uJ3Qgd3JhcCBhcyB0aGlzIHdpbGwgY2F1c2UgaXNzdWVzIHdoZW4gdXNpbmcgdGhlIGRyb3Bkb3duLlxyXG4gICAgPiB1bC5tZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIC8vIE1lZ2EgbWVudSBjb2x1bW4gbGF5b3V0IGluIGRlc2t0b3AuXHJcbiAgICAgICAgICAgIEBmb3IgJGNvdW50IGZyb20gMSB0aHJvdWdoICRtZWdhLW1lbnUtbWF4LWNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgJltkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIjeyRjb3VudH1cIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdvcmsgb3V0IGd1dHRlcnMuXHJcbiAgICAgICAgICAgICAgICAgICAgJGd1dHRlcnM6ICgoJGNvdW50IC0gMSkgKiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXBwbHkgY29sdW1uIGNvdW50LCB0YWtlIGF2YWlsYWJsZSBzcGFjZSBpbnRvIGFjY291bnQgKCBpLmUgZHJvcGRvd24gcGFkZGluZyAvIGd1dHRlcnMgKVxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGNvdW50fSwgY2FsYygoI3skbWVnYS1tZW51LWRyb3Bkb3duLWNvbnRlbnQtY29udGFpbmVyfSAtICN7KCRndXR0ZXJzKX0pIC8gI3skY291bnR9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWVnYSBtZW51IGltYWdlIHBvc2l0aW9uLCB0aGlzIHdpbGwgb2J2aW91c2x5IGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlIGNvbHVtbiBjb3VudC5cclxuICAgICAgICAgICAgICAgICAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46ICN7JGNvdW50fTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiBcclxuICAgICAgICAgICAgJjpob3ZlciA+IC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLWF1dG8tZmxvdzogZGVuc2U7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLm92ZXJmbG93LXNjcm9sbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEdWUgdG8gdGhlIHNjcm9sbGJhciBwdXNoIHRoZSBjb250ZW50IGxlZnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7KHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcsIDIsIGxhcmdlKSAtIDE3cHgpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaS5oYXMtY2xvbmVkLWdyb3Vwcy1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGZpcnN0IGdyb3VwIGRvZXNuJ3QgZ2V0IHNob3duIGFzIGl0cyBiZWVuIGR1cGxpY2F0ZWQgaW50byB0aGUgc3VibWVudS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6ICRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpLCAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnNpbmcgdGhpcyBjaGFuZ2UgYXMgaXQgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aGVuIHNvbWUgZ3JvdXAgZGlkbid0IGhhdmUgYW55IGNvbG91cidzIGNvbmZpZ3VyZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gJjpub3QoW3N0eWxlKj1cIi0tZWJnLVwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZW51LWdyb3VwLWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHcm91cCBob3ZlciBpY29ucywgbm9ybWFsbHkgdGhpcyBpcyBwb3NpdGlvbmVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBncm91cC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIGljb24gZm9yIGxhcmdlIHdoZW4gYW5jaG9yIGlzIGluIGl0cyBkZWZhdWx0IHN0YXRlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaS5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgQGlmIG5vdCAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1cnByZXNzaW5nIHRoaXMgaW4gZmF2b3VyIGlmIHVzaW5nIGZsZXhib3ggYXMgd2UgY3VycmVudGx5IGRvbnQgbmVlZCB0aGlzIGNvbXBsZXhpdHksIHRoaXMgb25seSBjb25mdXNlcyB0aGluZ3Mgd2hlbiBoYXZlIHRvIGhhbmRsZSB0aGUgdmlldyBtb3JlIGl0ZW0gYXQgdGhlbiBlbmQgb2YgYVxyXG4gICAgLy8gLm1lZ2EtbWVudS1jb2x1bW4tc3BhbiB7XHJcbiAgICAvLyAgICAgPiAuc3VibWVudSB7XHJcbiAgICAvLyAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAvLyAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4td3JhcCksIDFmcik7XHJcbiAgICAvLyAgICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgICAvLyAgICAgICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLm1lbnUgLmhhcy1jbG9uZWQtZ3JvdXBzIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lZ2FtZW51LWNvbHVtbi1jbG9uZWQtc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1tZWdhLW1lbnUtY29sdW1uLWNsb25lZC13cmFwKSwgMWZyKTtcclxuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2hpbGRmcmVlLXBhcmVudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbHVtbi1zcGFubmVkIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9uZWQtdG8tc2VwZXJhdGUtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB1bC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0LlxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdWwuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgYW55IGFycm93cy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTG93ZXIgbGV2ZWwgZ3JvdXAgaXRlbXMgdG8gYmUgc3VwcHJlc3NlZC5cclxuICAgICAgICAgICAgICAgICAgICAmID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wZXJzaXN0ZW50LWViZy1pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAje3NwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpfTtcclxuICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICAvLyAtLS0tLSBCYWNrZ3JvdW5kIGNvbG91ciwgdGV4dCBjb2xvdXIsIGhvdyB3ZSBoYW5kbGUgRUdCIGdyb3VwIGNvbG91cnMuIC0tLS0tXHJcbiAgICAvLyBDYXJyeSBvdXQgc29tZSBwcmUtcHJvY2Vzc2luZyBvZiB0aGUgY29sb3VycyB0byB0ZXN0IHRoZSBsZWdpYmlsaXR5IG9mIHRoZSBjb250ZW50IGFnYWluc3QgdGhlaXIgYmFja2dyb3VuZHMuXHJcbiAgICAvLyAtLS0gR3JhbmQgcGFyZW50IGNvbG91cnMuIC0tLVxyXG4gICAgLy8gTW9iaWxlXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3BcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gQ2hpbGQgY29sb3VycyAtLS0gXHJcbiAgICAvLyBUT0RPOlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQG1peGluIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLy8gRm9yIHdoZW4gd2UgZG9uJ3QgaGF2ZSByaWdodCBtZW51IGluIHRoZSBoZWFkZXItbWVudS1pbm5lci1jb250YWluZXIuXHJcbiAgICAgICAgQGlmICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBMZXZlbCAyIC0tLSBcclxuICAgIC5sZXZlbDIge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICA+IGEgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLy8gUHJldmVudCBzdWJtZW51IGZyb20gY2hhbmdpbmcgY29sb3VyIHdoZW4gYWN0aXZlLlxyXG4gICAgLnN1Ym1lbnUge1xyXG4gICAgICAgIGxpLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIExldmVsIDEgKCBHcmFuZHBhcmVudCApXHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBhIG1heGltdW0gd2lkdGggZm9yIGVhY2ggbWVudSBpdGVtLCBlc3NlbnRpYWxseSBmb3JjaW5nIGEgbGluZSBicmVhay5cclxuICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWxvd2VyLWl0ZW0tZ3Jvdykge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBpZigkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsZmxleC1zdGFydCxjZW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvICN7aWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IsIFwiLGJhY2tncm91bmQtY29sb3JcIiAkdHJhbnNpdGlvbkludHJvLCAnJyl9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVudS1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICYuaXMtc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRncmFuZC1wYXJlbnQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKSAhPSAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAvLyBMZWF2aW5nIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmxpdHkuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBsYXJnZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgJGdyYW5kLXBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci1sb3dlci10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGdlbmVyaWMgb3BhY2l0eSBob3ZlciBlZmZlY3QgYXBwbGllZCB0byBhbGwgYW5jaG9ycy5cclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCBmbGFnIHRvIG92ZXJyaWRlIHRoZSB3aWR0aCBpZiBzZXQuXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICN7aWYoJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoLCAxMDAlLCAkbWVnYS1tZW51LWRyb3Bkb3duLXdpZHRoKX07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSBvciBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoYW5naW5nIHRoZSBsb2dpYyBoZXJlIHRvIG9ubHkgcHV0IGhvdmVyIHRleHQgY29sb3VyIHdoZW4gcGFyZW50IGdyb3VwIGlzIGhvdmVyZWQgYXMgcmVxdWVzdCBmcm9tIHRoZSBRQyBvbiA4MTk2MDYuXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGE6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1sZXZlbC0yLWFuY2hvcigkcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBsZXZlbCAzXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jaGlsZGZyZWUtcGFyZW50cy1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxpLCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGtlZXAgdG9wIGFuZCBib3R0b20gY29uc2lzdGVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItYWN0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBWaWV3IG1vcmUgYnV0dG9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWVnYS1tZW51LXZpZXctbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC13ZWlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gUHJvZHVjdCBMaXN0IC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVmFyaW91cyBsaXN0IHZpZXdzOlxyXG4gIC0gVGFibGVcclxuICAtIEdyaWRcclxuLSBBbnl3aGVyZSBhIHByb2R1Y3QgbGlzdCBpcyBzaG93ICggc2VhcmNoIHJlc3VsdHMsIHByb2R1Y3QgYnkgZ3JvdXAsIGFjY291bnQgYXJlYSBwYWdlcyApIHRoaXMgY29kZSB3aWxsIGJlIHVzZWQuXHJcbi0gVGhpcyBmaWxlIGlzIE5PVCBkZWRpY2F0ZWQgdG8gZmlsdGVycyBjb25zdWx0IGZpbHRlci5zY3NzIGZvciB0aGF0LlxyXG4tIEFsbCBzb3J0aW5nIG9wdGlvbnMgKCBpdGVtcyBwZXIgcGFnZXMsIHZpZXcgc2VsZWN0aW9uLCBwYWdpbmF0aW9uLCBpdGVtcyBmb3VuZCAmIHNvcnQgYnkgKVxyXG4tIE5vIHJlc3VsdHMgZm91bmQuXHJcbiovXHJcblxyXG4jYmVzcG9rZS1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgLy8gRm9yIFNpdGUgU2VhcmNoIDM2MCB0aGV5IHVzZSBhIGgyIGluc3RlYWQgb2YgYSBoMSBmb3Igc2hvd2luZyB0aGUgcXVlcnkgeW91IHNlYXJjaGVkIGZvci5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB7XHJcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLnN1Z2dlc3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtZm9udC1zaXplKTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbik7XHJcblxyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciwgLnNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucmVzdWx0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb24taGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlY3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHNlY3Rpb24taGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzZWN0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbikge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNwcm9kdWN0LWxpc3Qge1xyXG4gICAgI2dyb3VwRGF0YSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3RMaXN0SXRlbSB7XHJcbiAgICAuZ3JpZC14IC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyLCAkZ3V0dGVyczogKHNtYWxsOiAxMHB4LGxhcmdlOiAzMHB4KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saXN0aW5nLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBNYXJnaW4gaXMgYWxyZWFkeSBiZWluZyBzZXQgbXkgLmdyaWQteDpub3QoLmdyaWQtbWFyZ2luLXgpLCB0aGlzIGhhcyBtdWNoIGdyZWF0ZXIgYWZmZWN0cyBpZiB0aGlzIGlzIGNoYW5nZWQuXHJcbiAgICAvLyBLZWVwcyBjb25zaXN0ZW50IHNwYWNpbmcgd2l0aCBtb2R1bGVzLlxyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbikgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKSAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBUbyBwcmV2ZW50IHRoZSBuZXcgJiBvbGQgY29udGVudCBmcm9tIGJlaW5nIGRpc3BsYXllZCBhdCB0aGUgc2FtZSB0aW1lLlxyXG4gICAgJltkYXRhLWNvbnRlbnQtdXBkYXRpbmc9dHJ1ZV0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRmaWx0ZXJzLWRlc2t0b3AtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgLy8gVXNpbmcgcGVyc2VudGFnZSB0byB0cnkgYW5kIGdldCBiYWNrIHNvbWUgbW9yZSBzcGFjZSBiZXR3ZWVuIGxhcmdlIGFuZCB4eGxhcmdlXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMSUgMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGVMaXN0e1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICgkZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoIC0gNjApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjcHJvZHVjdExpc3RJdGVtcyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2UgdGhlIC5wcm9kdWN0LWdyaWQtbW9kdWxlIGluc3RlYWQuXHJcbiAgICAvLyAjcHJvZHVjdExpc3RJdGVtcy5ncmlkIHtcclxuICAgIC8vICAgICAvLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuICAgIC8vICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbChpZigkY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kLCB0cnVlLCBmYWxzZSksIHRydWUpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gU3R5bGVzIHNwZWNpZmljIHRvIHRoZSBwcm9kdWN0IGxpc3QuXHJcbiAgICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICYuc2VwZXJhdG9yIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub2RkRXZlbiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl0ge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub2RkRXZlbiB7XHJcbiAgICAgICAgICAgIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLnNlcGVyYXRvciksICY6bm90KC5vZGRFdmVuKSB7XHJcbiAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiBhIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElnbm9yZSB0aGUgZmlyc3Qgcm93IGZvciBhc3NpZ25pbmcgdGhlIG1hcmdpbiBhYm92ZSB0aGUgc3ViLWhlYWRpbmcgYXMgdGhlIGRlc2lnbiBkb2Vzbid0IHJlcXVpcmUgaXQgODMxNzU2LlxyXG4gICAgICAgID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiB7XHJcbiAgICAgICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5oZWFkQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtYWxpZ24pOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBSZW1vdmluZyBhYnNvbHV0ZSB3aWR0aHMgZHVlIHRvIHRvbyBtYW55IHdheXMgb2YgZGlzcGxheWluZyB0aGlzIHRhYmxlLlxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMzU2cHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogNDQwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGluIGZhdm91ciBvZiBsZXR0aW5nIHRoZSBkZXNjcmlwdGlvbiBjb2x1bW4gZmxvdy5cclxuICAgICAgICAgICAgICAgIC8vICYgKyAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTQuNSU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDkuNSU7XHJcbiAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmF2b3VyaXRlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogOS41JTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzNCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldCwgLmZhdm91cml0ZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC8vZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXRhYmxlLWxheW91dC1tb2JpbGUoKTtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIEBpZiAkcHJvZHVjdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbm5vdCBwcmV2ZW50IGhlaWdodCBkdWUgdG8gbmVlZGluZyB0byBzdXBwb3J0IHJlY3RhbmdsZSBpbWFnZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICAgICAgLy8gRG9uJ3QgZml0LWNvbnRlbnQgZHVlIHRvIGV4dGVybmFsIGRhdGEgc3VwcGx5aW5nIHZhcmlvdXMgc2l6ZXMuXHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBBZGRpbmcgMnB4IHRvIGFsbG93IGZvciB0aGUgYm9yZGVyIHRvIHByZXZlbnQgdGhlIGJyb3dzZXIgZnJvbSBzY2FsaW5nIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taW1hZ2Utd2lkdGggKyAyKTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1pbWFnZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGdhcDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWRlc2NyaXB0aW9uLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAgICAgICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWNvZGUtb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LXByaWNlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gJiArIC5xdWFudGl0eS1jb250YWluZXItY29sLCAmICsgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1ub3QtbG9nZ2VkLWluLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1sb2dnaW4tYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAucXVhbnRpdHktY29udGFpbmVyLCAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIC8vIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1xdWFudGl0eS1wcmljZS1mYXZvdXJpdGVzLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICAvL21heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LXF1YW50aXR5LWRlc2t0b3AtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYWRkVG9CYXNrZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIGluZmF2b3VyIG9mIHVzaW5nIGZsZXhib3ggZm9yIGFsaWdubWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdpdGggdGhlIGhlYWRlci5cclxuICAgICAgICAgICAgICAgICAgICAvLyAuZmF2b3VyaXRlcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLXdlaWdodDsgXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItdW5kZXJsaW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2RlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaWNlKHRydWUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBycnAoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2F2aW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDEwcHggMDtcclxuICAgIC5yZXN1bHQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLypcclxuXHJcbi0tLS0gQVhJUyBEZWJ1Z2dlciAtLS0tIFxyXG5cclxuVGhpcyBpcyBhIHNpZGUgcHJvamVjdCBvZiBtaW5lIHB1cmx5IHRvIG1ha2UgZGV2IGxpZmUgYSBsaXR0bGUgZWFzaWVyIC8gZmFzdGVyIGVzc2VudGlhbGx5IHRoaXMgaXMganVzdCBhIGRyYXdlciB3aXRoIGEgYnVuY2ggb2Ygb3B0aW9ucyB0byBmbHVzaCBjYWNoZSwgc2V0IGRlYnVnIGxldmVscyAmIGNsZWFyIHRoZSBjb25zb2xlLlxyXG5cclxuKi9cclxuXHJcbiRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnM6IChcclxuICAgICdjbGVhci1jYWNoZSc6ICdcXGYxYjgnLFxyXG4gICAgJ2NsZWFyLWNvbnNvbGUnOiAnXFxmMTIwJyxcclxuICAgICdzZXQtZGVidWdnaW5nLWxldmVsJzogJ1xcZjE4OCcsXHJcbiAgICBcInRlc3QtbW9kZVwiOiAnXFxmNDkyJyxcclxuICAgIFwic2l0ZS1zdHlsZVwiOiAnXFxmNTNmJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDgwMDAwMDAwMDA7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjI1cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJG9wdGlvbi1pY29uLXNpemU6IDM4cHg7XHJcblxyXG4uZGV2ZWxvcG1lbnQtZHJhd2VyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA5KTtcclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcnZpY2Utd29ya2VyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIC5oZWFkaW5nIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kcmF3ZXItaGVhZGVyIHtcclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRvcHRpb24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIHN0eWxlc1xyXG4gICAgICAgICRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIxXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMTAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjEpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0xMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIyXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMjAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0yMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIzXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMzAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjMpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0zMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCI0XCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtNDAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC00MCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNsZWFyLWNhY2hlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgY2xlYXItY2FjaGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNsZWFyLWNvbnNvbGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBjbGVhci1jb25zb2xlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXQtZGVidWdnaW5nLWxldmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgc2V0LWRlYnVnZ2luZy1sZXZlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCB0ZXN0LW1vZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtc3R5bGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBzaXRlLXN0eWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLCAuY2hpbGQtY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuLy8gRm91bmRhdGlvbiBzZXR0aW5nLlxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbi8vIEZvdW5kYXRpb24gbGlicmFyaWVzLlxyXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcclxuLy8gVGFibGVzLlxyXG5AaW1wb3J0ICd0YWJsZXMuc2Nzcyc7XHJcbi8vSW5wdXQgc3R5bGluZy5cclxuQGltcG9ydCAnaW5wdXRzLnNjc3MnO1xyXG4vL0ZvbnRhd2Vzb21lIGxpYnJhcnkuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZ2V0cyBoYW5kbGVkIGJ5IGJyYW5kaW5nLnNjc3NcclxuLy9AaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWUuc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3NcIjtcclxuXHJcbi8vIC0tLS0tIEV4cHJlc3MgQ29tcG9uZW50cyAtLS0tLS0gXHJcbi8vVE9ETzpOZWVkIHRvIG1ha2Ugc29tZSBzb3J0IG9mIGZ1bmN0aW9uYWxpdHkgdGhhdCBjYW4gdG9nZ2xlIGJldHdlZW4gMyBkaWZmZXJlbnQgdHlwZXMgb2Ygc3R5bGVzaGVldHMuXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2l0ZS1zdHlsZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Zvcm1zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9oZWFkZXIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWpheFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZmlsdGVycy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2RhbHMuc2Nzc1wiO1xyXG4vLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuLy9AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kdWxlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2R1bGVzLXYyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3N0b2NrLWluZGljYXRvcnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3Byb2R1Y3Quc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvYmFza2V0LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2FjY291bnQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvY21zLXBhZ2VzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2NoZWNrb3V0LnNjc3NcIjtcclxuLy9AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZW1haWwtdGVtcGxhdGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS80MDRcIjtcclxuXHJcbi8vQ29tcG9uZW50IEltcG9ydFxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWxpZ2h0Ym94XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWFnbmlmaWVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2J4U2xpZGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2xpZGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9vbHRpcFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJlYWQtbW9yZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWF1dG9jb21wbGV0ZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zd2VldC1hbGVydC1pY29uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW5vdGlmaWNhdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1pbWFnZS1vdmVybGF5c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNvdW50ZG93blwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXB3YVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBheW1lbnQtbWV0aG9kc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNvY2lhbC1tZWRpYS1pY29uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVxdWlwbWVudC1zZWxlY3RvclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBpY2stbi1taXhcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hbmltYXRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY2xpZW50LXNlYXJjaFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvcC1iYXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdHlsZS1ndWlkZVwiO1xyXG4vLyBBZG1pbiBjb21wb25lbnQgaXMgaW4gaXRzIFwiIHByb3RvdHlwZSBcIiBwaGFzZS5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hZG1pblwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9vZmZfY2FudmFzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWNjb3JkaW9uLXRhYnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGlja3lcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1saXN0LXNvcnRpbmctb3B0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1hbmFnZS1jYWxsc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJhY2stdG8tdG9wXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2VjdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lbGxpcHNpc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJsdXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGF0aWNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdG9ja2lzdFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRyZWUtbWVudVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJldmlld3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLXNlY3Rpb24tY29sb3Vyc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0YXItcmF0aW5nc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJhcmNvZGUtc2Nhbm5lclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2UtYmFja2dyb3VuZC1pbWFnZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10YWdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9nZ2xlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbXVsdGktZmllbGQtbG9va3VwXCI7XHJcblxyXG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XHJcbi8vQW5pbWF0ZS5jc3MgKGN1c3RvbSBhbmltYXRpb24gbGlicmFyeSlcclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUuY3NzL2FuaW1hdGUnO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVsZW1lbnQtcHJpbnRcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1kb2N1bWVudGF0aW9uXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY29udGV4dC1tZW51XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZ3JhZHVhdGVkLWNvbG91ci1lZGdlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmljaC10ZXh0LWVkaXRvclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXZpZGVvLXBsYXllclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW11bHRpbWVkaWEtZWxlbWVudFwiO1xyXG5cclxuLy8gR2xvYmFsIHN0eWxlc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG4vLyBCYXNpYyBjb21wb25lbnRzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcblxyXG4vLyBDb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XHJcblxyXG4vLyBMYXlvdXQgY29tcG9uZW50c1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbi8vIFdlIHVzZSBvdXIgb3duIG1vZGFsIHN5c3RlbS5cclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuLy8gVXNpbmcgY3VzdG9tIHN0eWxlcyBmb3IgdGhpcyBkdWUgdG8gdGhlIGhlYWRlciBiZWluZyBzbyBjb21wbGV4LlxyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4vLyBIZWxwZXJzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuLy8gTW90aW9uIFVJXHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLy8gQ29tcG9uZW50cyB0aGF0IG5lZWQgdG8gYmUgbG9hZGVkIGFmdGVyIGZvdW5kYXRpb24uXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWVudXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3Byb2R1Y3QtbGlzdC5zY3NzXCI7XHJcblxyXG5AaW1wb3J0ICcuLi9nbG9iYWwvZGVidWdnZXInO1xyXG5cclxuLy8tLS0tLSBHbG9iYWwgLS0tLS0gXHJcbjpyb290IHtcclxuICAgIC8vIFNldCBDU1MgdmFyaWFibGVzLlxyXG5cclxuICAgIC8vIC0tLSBDb2xvdXIgUGFsbGV0ZSAtLS0tXHJcbiAgICAvLyBQcmltYXJ5XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJwcmltYXJ5LWNvbG91clwiLCAkcHJpbWFyeS1jb2xvdXIpO1xyXG4gICAgLy8gU2Vjb25kYXJ5XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzZWNvbmRhcnktY29sb3VyXCIsICRzZWNvbmRhcnktY29sb3VyKTtcclxuICAgIC8vIEFjY2VudCAxXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTFcIiwgJGFjY2VudC1jb2xvdXItMSk7XHJcbiAgICAvLyBBY2NlbnQgMlxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0yXCIsICRhY2NlbnQtY29sb3VyLTIpO1xyXG4gICAgLy8gQWNjZW50IDNcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItM1wiLCAkYWNjZW50LWNvbG91ci0zKTtcclxuICAgIC8vIEFjY2VudCA0XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTRcIiwgJGFjY2VudC1jb2xvdXItNCk7XHJcbiAgICAvLyBOZXV0cmFsIENvbG91clxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwibmV1dHJhbC1jb2xvdXJcIiwgJG5ldXRyYWwtY29sb3VyKTtcclxuICAgIC8vIEJsYWNrXHJcbiAgICAtLWJsYWNrLWNvbG91cjogI3skY29sb3VyMn07XHJcbiAgICAvLyBXaGl0ZVxyXG4gICAgLS13aGl0ZS1jb2xvdXI6ICN7JGNvbG91cjF9O1xyXG5cclxuICAgIC8vIE5vdGlmaWNhdGlvbiBDb2xvdXJzLlxyXG4gICAgLy8tLXN1Y2Nlc3MtY29sb3VyLTA6ICN7JHN1Y2Nlc3MtY29sb3VyfTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInN1Y2Nlc3MtY29sb3VyXCIsICRzdWNjZXNzLWNvbG91cik7XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJ3YXJuaW5nLWNvbG91clwiLCAkd2FybmluZy1jb2xvdXIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWxlcnQtY29sb3VyXCIsICRhbGVydC1jb2xvdXIpO1xyXG5cclxuICAgIFxyXG5cclxuICAgIC8vIC0tLSBDb250ZW50IFdpZHRoIC0tLVxyXG4gICAgLy8gQ29udGFpbmVyIE1heCBXaWR0aHMuXHJcbiAgICAtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogI3skZ2xvYmFsLXdpZHRofTtcclxuICAgIC0tdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6ICN7JGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aH07XHJcblxyXG4gICAgLy8gLS0tIEZvbnRzIC0tLS1cclxuICAgIEBlYWNoICRmb250LXR5cGUsICRmb250LW5hbWUgaW4gJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcyB7XHJcbiAgICAgICAgLS0jeyRmb250LXR5cGV9OiAjeyRmb250LW5hbWV9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBCb3JkZXIgUmFkaXVzIC0tLVxyXG4gICAgLS1zbW9vdGgtZWRnZXMtZW5hYmxlZDogI3skc21vb3RoLWVkZ2VzLWVuYWJsZWR9O1xyXG4gICAgLS1zbW9vdGgtZWRnZXMtbGV2ZWw6ICN7JHNtb290aC1lZGdlcy1sZXZlbH07XHJcbiAgICAtLWJvcmRlci1yYWRpdXMtMTogI3skYm9yZGVyUmFkaXVzMX07XHJcbiAgICAtLWJvcmRlci1yYWRpdXMtMjogI3skYm9yZGVyUmFkaXVzMn07XHJcblxyXG4gICAgLy8gLS0tIFR5cG9ncmFwZ3kgLS0tXHJcbiAgICAvLyBMaW5lIGhlaWdodC5cclxuICAgIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAjeyRkZWZhdWx0LWxpbmUtaGVpZ2h0fTtcclxuICAgIC8vIENvbG91ci5cclxuICAgIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjeyRib2R5LWZvbnQtY29sb3VyfTtcclxuXHJcbiAgICAvLyAtLS0gQnV0dG9ucyAtLS1cclxuICAgIC0tYnV0dG9ucy1ib3JkZXItcmFkaXVzOiAjeyRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXN9O1xyXG4gICAgXHJcbn1cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBmb250IHN0YWNrcy5cclxuQGVhY2ggJGtleSwgJG1ldHJpY3MgaW4gJGZvbnQtZmFsbGJhY2stbWV0cmljcyB7XHJcbiAgICAkZm9udC1mYW1pbHk6IG1hcC1nZXQoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgI3ska2V5fS1mb250KTtcclxuICAgICRuYW1lOiBudGgoJGZvbnQtZmFtaWx5LCAxKTtcclxuICAgICRmYWxsYmFjazogbWFwLWdldCgkbWV0cmljcywgZmFsbGJhY2spO1xyXG4gICAgQGluY2x1ZGUgZm9udC1mYWxsYmFjaygkbmFtZSwgJGZhbGxiYWNrLCAkbWV0cmljcyk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgLy8gQWxsb3dpbmcgY29udGVudCAvIGZvb3RlciB0byB1c2UgZmxleC1ncm93IHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpbGwgdGhlIHZpZXdwb3J0LlxyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIER1ZSB0byBhIGJ1ZyB3aXRoIGZvdW5hdGlvbidzIGd1dHRlcnMgd2hlbiB5b3UgdXNlIHRoZW0gaW4gYSBuZXN0IGdyaWQgZm9ybWF0IHRoZXkgY2F1c2UgYSBob3Jpem9udGFsIHNjcm9sbCBiYXIgdG8gYXBwZWFyLlxyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcbmJvZHkuc2Nyb2xsTG9jayB7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuLy8gU3VwcHJlc3NpbmcgdGhpcyB0byBhbGxvdyBmb3IgbW9yZSBzcGFjZSBmb3IgdHJlZSBtZW51J3MgaW4gbW9iaWxlLlxyXG4vLyBtYWluLCBmb290ZXIgLnJvdy1iYWNrZ3JvdW5kIHtcclxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG4vLyAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYWdlLWd1dHRlcik7XHJcbi8vICAgICB9XHJcbi8vIH1cclxubWFpbiB7XHJcbiAgICAvLyBDYXBwaW5nIG1haW4gY29udGVudCBhdCAxOTIwcHggYXMgdGhlcmUgc3RpbGwgaXMgZW5vdWdoIG9mIGEgZGVtYWluIG9uIDJrIG9yIDRrIHN1cHBvcnQgKCBodHRwczovL3d3dy5yZWRkaXQuY29tL3Ivd2ViZGV2L2NvbW1lbnRzL21ndTg2dS9yZXNwb25zaXZlX2Rlc2lnbl9mb3JfNGtfc2NyZWVucy8gKSBhcyBvZiAyMDI0LlxyXG4gICAgLy8gbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gQWx3YXlzIGFsaWduIHRvIHRoZSBsZWZ0IHRoZW4gYWxsb3cgY2hpbGQgY29udGFpbnMgdG8gcHJvdmlkZSBjZW50ZXIgYWxpZ25tZW50LlxyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyBXaGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaWxsIHRoZSB2aWV3cG9ydCBtYWtlIHRoZSBtYWluIGNvbnRhaW5lciBncm93IHRvIHB1c2ggdGhlIGZvb3RlciB0byB0aGUgYm90dG9tIG9mIHRoZSB3aW5kb3cuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAmID4gZGl2IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcbi8vIE1ha2Ugc3VyZSBpbWFnZXMgc3RheSB3aXRoaW4gdGhlaXIgY29udGFpbmVycy5cclxuLmltYWdlIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZ3JpZC14IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIG1hcmdpbiBydWxlIHdhcyBwdXQgaW4gcGxhY2UgZm9yID4gMTkyMCBzY3JlZW5zIGFzIHdlIGRvbid0IHdhbnQgY29udGVudCBzcGFubmluZyBhY3Jvc3MgdGhlIGVudGlyZSB2aWV3cG9ydCBidXQgd2FudCBpdCB0byBzdGlsbCByZW1haW4gY2VudGVyYWxpc2VkLiBDdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgcmUtd3JpdGluZyB0aGUgZ3JpZCBzeXN0ZW0gdG8gdXNlIEdyaWQgaW5zdGVhZCBvZiBGbGV4Ym94LCBkdWUgdG8gaG93IEZvdW5kYXRpb24gdXNlcyBtYXJnaW4gdG8gY2FsY3VsYXRlIGl0cyBndXR0ZXJzIHRoaXMgY2Fubm90IGJlIHVzZWQgdG8gY2VudGVyYWxpc2UgdGhlIGNvbnRlbnQsIGx1Y2tpbHkgdGhlIG9ubHkgcGxhY2UgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIHRoYXQgbmVlZHMgdGhpcyBpcyBtb2R1bGVzIHdoaWNoIG5vIGxvbmdlciB1c2VzIGZvdW5kYXRpb24ncyBncmlkICggaW50ZXJtcyBvZiBjb250ZW50IGJ1dCBzaXRzIHdpdGhpbiBpdCApXHJcbiAgICAmOm5vdCguZ3JpZC1tYXJnaW4teCkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBBZGRpbmcgMCB0b3AgKyBib3R0b20gb3RoZXJ3aXNlIGxpc3RpbmcgcGFnZSB3b3VsZCB2ZXJ0aWNhbGx5IGFsaWduIGluIHRoZSBjZW50ZXIgb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC8vIFNldHRpbmcgd2lkdGg6IDEwMCU7IGR1ZSB0aGUgbWFpbiB1c2luZyBmbGV4Ym94IGxheW91dCBvdGhlcndpc2UgY29udGFpbmVycyB3ZXJlIGZpdHRpbmcgdGhlaXIgY29udGVudCBpbnN0ZWFkIG9mIGZpdHRpbmcgdGhlIGF2YWlsYWJsZSB3aWR0aC5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNYWtlIHRoZSBjb250YWluZXIgdGFrZSBhcyBtdWNoIHZlcnRpY2FsIHNwYWNlIGFzIGF2YWlsYWJsZS5cclxuICAgICYuY29udGFpbmVyLWdyb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLmFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gR2VuZXJhbCBociBmb3JtYXR0aW5nLlxyXG5ociB7XHJcbiAgICAmLm1vYmlsZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZm9vdGVyLWd0bS13aWRnZXQge1xyXG4gICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNncm91cC1iYW5uZXItY2Fyb3VzZWwtY29udGFpbmVyLCAuZ3JvdXAtYmFubmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbiNjYXRlZ29yeUdyaWRPdmVycmlkZSB7XHJcbiAgICAvL092ZXJyaWRpbmcgdGhlIGZvdW5kYXRpb24ncyBkZWZhdWx0IGdyaWQgYXMgdGhlIGRlc2lnbiBjYWxsZWQgZm9yIGEgNSBjb2x1bW4gbGF5b3V0LlxyXG4gICAgLmxhcmdlLTIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMi4yKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyNDtcclxuICAgIH1cclxufVxyXG5cclxuI3JlZ2lzdGVyLXN1Ym1pdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRmb3Jnb3R0ZW4tcGFzc293cmQtYW5jaG9yLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgIEBpZiAoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEFkZGVkIHNwZWNpZmljYWxseSBmb3IgdGhlIGhlYWRlci1jb21wb25lbnRzLmh0bWwgLi4uIGkga25vdyBpdCBkZXByZWNhdGVkIGp1c3QgYSBxdWljayBhbmQgZGlydHkgZ2V0IG91dC5cclxueG1wIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5hbmltYXRlX19hbmltYXRlZCB7XHJcbiAgICAmOm5vdCguYW5pbWF0ZWQtY29udGVudC1hY3RpdmUpIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5qc29uLWNvZGUtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG5cbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKGRpdmlkZSgkcG9zaXRpb24sICRncmlkLWNvbHVtbi1jb3VudCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iXX0= */
